Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of Nucleo_radio_module by
main.cpp
00001 #include "mbed.h" 00002 #include "TextLCD.h" 00003 00004 //TEA5767 example with STM32 nucleo 00005 //Developed by Mazzella, Vitone, Tarallo 00006 00007 TextLCD lcd(D12, D11, D5, D4, D3, D2, TextLCD::LCD16x2); 00008 I2C radio(D14, D15); //sda, sc1 00009 AnalogIn trimmer(PA_0);// A0 ingresso analogico 00010 00011 Serial pc(USBTX, USBRX); //tx, rx 00012 InterruptIn button (USER_BUTTON); 00013 char s; 00014 float frequenza; 00015 unsigned int N,m1,m2; 00016 00017 const int addr = 0xC0; //address for writing data, reading is C1 00018 00019 char config_t[5]; 00020 char search[5]; 00021 char lettura[5]; 00022 00023 00024 /*void seqfreq() //search next frequency, minimun signal strength 00025 { 00026 search[0] = 0x6F; 00027 search[1] = 0xCA; 00028 search[2] = 0xB0; 00029 search[3] = 0x12; 00030 search[4] = 0x00; 00031 radio.write(addr, search, 5); 00032 wait(0.01); 00033 radio.read(0xC1, lettura,5);// dobbiamo azzerare i primi due bit 00034 for(int i=0;i<2;i++){ 00035 s=lettura[i]& 0x3F; 00036 00037 00038 00039 }*/ 00040 00041 00042 00043 int main() 00044 { 00045 while (1){ 00046 frequenza=(108-87.5)*trimmer.read()+87.5; 00047 N=4*(frequenza*1e6+225000)/32768; 00048 /*pc.printf("Frequenza = \n\r"); 00049 pc.printf("%1.3f",frequenza); 00050 pc.printf("\n\r");*/ 00051 //a questo punto dobbiamo converitre in esadecimale N ed inviarlo al modulo radio 00052 // usando unsigned int n sappiamo con sicurezza di utilizzare solo 2 byte 00053 m2=N & 0x00FF;//isoliamo il secondo byte di N 00054 m1=N& 0xFF00;//isoliamo il primo byte di N,dobbiamo però shifarlo 00055 m1=m1>>8; 00056 00057 config_t[0] = char(m1); 00058 config_t[1] = char(m2); // config data byte, tune at 100.00MHz 00059 config_t[2] = 0x10; 00060 config_t[3] = 0x12; 00061 config_t[4] = 0x00; 00062 00063 radio.write(addr, config_t, 5); 00064 lcd.locate(0,0); 00065 lcd.printf("Frequenza:" ,frequenza); 00066 wait(1); 00067 } 00068 // button.rise(&seqfreq); 00069 00070 }
Generated on Mon Aug 15 2022 11:54:08 by
1.7.2
