Jared Baxter / Mbed 2 deprecated Impedance_Fast_Circuitry_print_V_I

Dependencies:   mbed-dsp mbed

Fork of Impedance_Fast_Circuitry by Jared Baxter

Committer:
timmey9
Date:
Thu Jan 29 16:18:54 2015 +0000
Revision:
39:82dc3daecf32
Child:
45:d591d138cdeb
Cleaned up the code.  PDB still won't work.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
timmey9 39:82dc3daecf32 1 #include "pdb.h"
timmey9 39:82dc3daecf32 2
timmey9 39:82dc3daecf32 3 void pdb_init(Serial &pc) {
timmey9 39:82dc3daecf32 4
timmey9 39:82dc3daecf32 5 // initialize the Programmable Delay Block
timmey9 39:82dc3daecf32 6 SIM->SCGC6 |= SIM_SCGC6_PDB_MASK; // turn on the clock to the PDB
timmey9 39:82dc3daecf32 7
timmey9 39:82dc3daecf32 8 // Configure the Peripheral Delay Block (PDB):
timmey9 39:82dc3daecf32 9 PDB0_IDLY = 0x05; // need to trigger interrupt every counter reset which happens when modulus reached
timmey9 39:82dc3daecf32 10 PDB0_MOD = 0xd2; // largest period possible with the slections above, so slow you can see each conversion.
timmey9 39:82dc3daecf32 11 PDB0_CH0DLY0 = 0x00;
timmey9 39:82dc3daecf32 12 PDB0_CH0DLY1 = 0x00;
timmey9 39:82dc3daecf32 13 PDB0_CH1DLY0 = 0x00;
timmey9 39:82dc3daecf32 14 PDB0_CH1DLY1 = 0x00;
timmey9 39:82dc3daecf32 15 PDB0_CH0C1 = PDB_C1_EN(0x01) | PDB_C1_TOS(0x01) | PDB_C1_EN(0x02) | PDB_C1_TOS(0x02) ; // channel 0 pretrigger 0 and 1 enabled and delayed
timmey9 39:82dc3daecf32 16 PDB0_CH1C1 = PDB_C1_EN(0x01) | PDB_C1_TOS(0x01) | PDB_C1_EN(0x02) | PDB_C1_TOS(0x02) ; // channel 1 pretrigger 0 and 1 enabled and delayed
timmey9 39:82dc3daecf32 17
timmey9 39:82dc3daecf32 18 PDB0_SC = PDB_SC_CONT_MASK // Contintuous, rather than one-shot, mode
timmey9 39:82dc3daecf32 19 | PDB_SC_PDBEN_MASK // PDB enabled
timmey9 39:82dc3daecf32 20 //| PDB_SC_PDBIE_MASK // PDB Interrupt Enable
timmey9 39:82dc3daecf32 21 | PDB_SC_PRESCALER(0) // Slow down the period of the PDB for testing
timmey9 39:82dc3daecf32 22 | PDB_SC_TRGSEL(0xf) // Trigger source is Software Trigger to be invoked in this file
timmey9 39:82dc3daecf32 23 | PDB_SC_MULT(0) // Multiplication factor 20 for the prescale divider for the counter clock
timmey9 39:82dc3daecf32 24 | PDB_SC_LDOK_MASK; // Need to ok the loading or it will not load certain regsiters!
timmey9 39:82dc3daecf32 25
timmey9 39:82dc3daecf32 26
timmey9 39:82dc3daecf32 27
timmey9 39:82dc3daecf32 28 SIM_SOPT7 = SIM_SOPT7_ADC0TRGSEL(0); // set ADC trigger to PDB0
timmey9 39:82dc3daecf32 29
timmey9 39:82dc3daecf32 30 pc.printf("PDB0_SC: %08x\r\n",PDB0_SC);
timmey9 39:82dc3daecf32 31 pc.printf("PDB0_MOD: %08x\r\n",PDB0_MOD);
timmey9 39:82dc3daecf32 32 pc.printf("PDB0_CNT: %08x\r\n",PDB0_CNT);
timmey9 39:82dc3daecf32 33 pc.printf("PDB0_IDLY: %08x\r\n",PDB0_IDLY);
timmey9 39:82dc3daecf32 34 pc.printf("PDB0_CH0C1: %08x\r\n",PDB0_CH0C1);
timmey9 39:82dc3daecf32 35 pc.printf("PDB0_CH0S: %08x\r\n",PDB0_CH0S);
timmey9 39:82dc3daecf32 36 pc.printf("PDB0_CH0DLY0: %08x\r\n",PDB0_CH0DLY0);
timmey9 39:82dc3daecf32 37 pc.printf("PDB0_CH0DLY1: %08x\r\n",PDB0_CH0DLY1);
timmey9 39:82dc3daecf32 38 pc.printf("PDB0_CH1C1: %08x\r\n",PDB0_CH1C1);
timmey9 39:82dc3daecf32 39 pc.printf("PDB0_CH1S: %08x\r\n",PDB0_CH1S);
timmey9 39:82dc3daecf32 40 pc.printf("PDB0_CH1DLY0: %08x\r\n",PDB0_CH1DLY0);
timmey9 39:82dc3daecf32 41 pc.printf("PDB0_CH1DLY1: %08x\r\n",PDB0_CH1DLY1);
timmey9 39:82dc3daecf32 42 pc.printf("PDB0_DACINTC0: %08x\r\n",PDB0_DACINTC0);
timmey9 39:82dc3daecf32 43 pc.printf("PDB0_DACINT0: %08x\r\n",PDB0_DACINT0);
timmey9 39:82dc3daecf32 44 pc.printf("PDB0_DACINTC1: %08x\r\n",PDB0_DACINTC1);
timmey9 39:82dc3daecf32 45 pc.printf("PDB0_DACINT1: %08x\r\n",PDB0_DACINT1);
timmey9 39:82dc3daecf32 46 pc.printf("PDB0_POEN: %08x\r\n",PDB0_POEN);
timmey9 39:82dc3daecf32 47 pc.printf("PDB0_PO0DLY: %08x\r\n",PDB0_PO0DLY);
timmey9 39:82dc3daecf32 48 pc.printf("PDB0_PO1DLY: %08x\r\n",PDB0_PO1DLY);
timmey9 39:82dc3daecf32 49 pc.printf("PDB0_PO2DLY: %08x\r\n\n",PDB0_PO2DLY);
timmey9 39:82dc3daecf32 50
timmey9 39:82dc3daecf32 51 }
timmey9 39:82dc3daecf32 52
timmey9 39:82dc3daecf32 53 void pdb_start() {
timmey9 39:82dc3daecf32 54 PDB0->SC |= PDB_SC_SWTRIG_MASK; // enable software trigger (start the PDB)
timmey9 39:82dc3daecf32 55 }
timmey9 39:82dc3daecf32 56
timmey9 39:82dc3daecf32 57 void pdb_stop() {
timmey9 39:82dc3daecf32 58
timmey9 39:82dc3daecf32 59 }