progetto finale

Dependencies:   TextLCD mbed

Fork of ProgettoAUC by Marco Vitone

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?

UserRevisionLine numberNew 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 }