AUC Team
/
progettoauc
progetto finale
Fork of ProgettoAUC by
main.cpp@3:4ce3bb78b1fc, 2016-11-21 (annotated)
- Committer:
- marcovitone
- Date:
- Mon Nov 21 12:13:28 2016 +0000
- Revision:
- 3:4ce3bb78b1fc
- Parent:
- 2:6b09752bd3b2
- Child:
- 4:98e062cf962e
ciao
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Alessio359 | 2:6b09752bd3b2 | 1 | #include "mbed.h" |
Alessio359 | 0:7b9184b3ceba | 2 | |
Alessio359 | 2:6b09752bd3b2 | 3 | //TEA5767 example with STM32 nucleo |
Alessio359 | 2:6b09752bd3b2 | 4 | //Developed by Mazzella, Vitone, Tarallo |
Alessio359 | 0:7b9184b3ceba | 5 | |
Alessio359 | 0:7b9184b3ceba | 6 | I2C radio(D14, D15); //sda, sc1 |
marcovitone | 3:4ce3bb78b1fc | 7 | AnalogIn trimmer(PA_0);// A0 ingresso analogico |
Alessio359 | 0:7b9184b3ceba | 8 | |
Alessio359 | 0:7b9184b3ceba | 9 | Serial pc(USBTX, USBRX); //tx, rx |
Alessio359 | 2:6b09752bd3b2 | 10 | InterruptIn button (USER_BUTTON); |
marcovitone | 3:4ce3bb78b1fc | 11 | char s; |
marcovitone | 3:4ce3bb78b1fc | 12 | float frequenza; |
marcovitone | 3:4ce3bb78b1fc | 13 | int N; |
Alessio359 | 0:7b9184b3ceba | 14 | |
Alessio359 | 2:6b09752bd3b2 | 15 | const int addr = 0xC0; //address for writing data, reading is C1 |
Alessio359 | 0:7b9184b3ceba | 16 | |
franzs17 | 1:84d896b9240b | 17 | char config_t[5]; |
franzs17 | 1:84d896b9240b | 18 | char search[5]; |
marcovitone | 3:4ce3bb78b1fc | 19 | char lettura[5]; |
franzs17 | 1:84d896b9240b | 20 | |
Alessio359 | 0:7b9184b3ceba | 21 | |
Alessio359 | 2:6b09752bd3b2 | 22 | void seqfreq() //search next frequency, minimun signal strength |
Alessio359 | 2:6b09752bd3b2 | 23 | { |
franzs17 | 1:84d896b9240b | 24 | search[0] = 0x6F; |
franzs17 | 1:84d896b9240b | 25 | search[1] = 0xCA; |
franzs17 | 1:84d896b9240b | 26 | search[2] = 0xB0; |
franzs17 | 1:84d896b9240b | 27 | search[3] = 0x12; |
franzs17 | 1:84d896b9240b | 28 | search[4] = 0x00; |
franzs17 | 1:84d896b9240b | 29 | radio.write(addr, search, 5); |
marcovitone | 3:4ce3bb78b1fc | 30 | wait(0.01); |
marcovitone | 3:4ce3bb78b1fc | 31 | radio.read(0xC1, lettura,5);// dobbiamo azzerare i primi due bit |
marcovitone | 3:4ce3bb78b1fc | 32 | for(int i=0;i<2;i++){ |
marcovitone | 3:4ce3bb78b1fc | 33 | s=lettura[i]& 0x3F; |
marcovitone | 3:4ce3bb78b1fc | 34 | |
marcovitone | 3:4ce3bb78b1fc | 35 | |
marcovitone | 3:4ce3bb78b1fc | 36 | |
Alessio359 | 0:7b9184b3ceba | 37 | } |
marcovitone | 3:4ce3bb78b1fc | 38 | |
marcovitone | 3:4ce3bb78b1fc | 39 | |
Alessio359 | 2:6b09752bd3b2 | 40 | |
Alessio359 | 2:6b09752bd3b2 | 41 | int main() |
Alessio359 | 2:6b09752bd3b2 | 42 | { |
marcovitone | 3:4ce3bb78b1fc | 43 | while (1){ |
marcovitone | 3:4ce3bb78b1fc | 44 | frequenza=(108-87.5)*trimmer.read()+87.5; |
marcovitone | 3:4ce3bb78b1fc | 45 | N=4*(frequenza+225000)/32768; |
marcovitone | 3:4ce3bb78b1fc | 46 | //a questo punto dobbiamo converitre in esadecimale N ed inviarlo al modulo radio |
Alessio359 | 2:6b09752bd3b2 | 47 | |
Alessio359 | 2:6b09752bd3b2 | 48 | config_t[0] = 0x2F; |
Alessio359 | 2:6b09752bd3b2 | 49 | config_t[1] = 0xCA; // config data byte, tune at 100.00MHz |
Alessio359 | 2:6b09752bd3b2 | 50 | config_t[2] = 0x10; |
Alessio359 | 2:6b09752bd3b2 | 51 | config_t[3] = 0x12; |
Alessio359 | 2:6b09752bd3b2 | 52 | config_t[4] = 0x00; |
Alessio359 | 2:6b09752bd3b2 | 53 | |
Alessio359 | 2:6b09752bd3b2 | 54 | radio.write(addr, config_t, 5); |
Alessio359 | 2:6b09752bd3b2 | 55 | button.rise(&seqfreq); |
Alessio359 | 2:6b09752bd3b2 | 56 | |
Alessio359 | 2:6b09752bd3b2 | 57 | } |