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.
main.cpp
00001 /*FSK with A9834 by MLabo 2011/07/17*/ 00002 #include "mbed.h" 00003 #include "TextLCD.h" 00004 00005 TextLCD lcd(p24, p26, p27, p28, p29, p30); //StarBoard Orenge 00006 DigitalOut FSELECT(p17); 00007 DigitalOut FSYNC(p18); 00008 DigitalOut SCLK(p19); 00009 DigitalOut SDATA(p20); 00010 00011 void serial_out(uint16_t data) { 00012 00013 FSYNC = 0; 00014 data & 0x8000? SDATA = 1 : SDATA = 0;SCLK = 0;SCLK = 1; 00015 data & 0x4000? SDATA = 1 : SDATA = 0;SCLK = 0;SCLK = 1; 00016 data & 0x2000? SDATA = 1 : SDATA = 0;SCLK = 0;SCLK = 1; 00017 data & 0x1000? SDATA = 1 : SDATA = 0;SCLK = 0;SCLK = 1; 00018 data & 0x0800? SDATA = 1 : SDATA = 0;SCLK = 0;SCLK = 1; 00019 data & 0x0400? SDATA = 1 : SDATA = 0;SCLK = 0;SCLK = 1; 00020 data & 0x0200? SDATA = 1 : SDATA = 0;SCLK = 0;SCLK = 1; 00021 data & 0x0100? SDATA = 1 : SDATA = 0;SCLK = 0;SCLK = 1; 00022 data & 0x0080? SDATA = 1 : SDATA = 0;SCLK = 0;SCLK = 1; 00023 data & 0x0040? SDATA = 1 : SDATA = 0;SCLK = 0;SCLK = 1; 00024 data & 0x0020? SDATA = 1 : SDATA = 0;SCLK = 0;SCLK = 1; 00025 data & 0x0010? SDATA = 1 : SDATA = 0;SCLK = 0;SCLK = 1; 00026 data & 0x0008? SDATA = 1 : SDATA = 0;SCLK = 0;SCLK = 1; 00027 data & 0x0004? SDATA = 1 : SDATA = 0;SCLK = 0;SCLK = 1; 00028 data & 0x0002? SDATA = 1 : SDATA = 0;SCLK = 0;SCLK = 1; 00029 data & 0x0001? SDATA = 1 : SDATA = 0;SCLK = 0;SCLK = 1; 00030 FSYNC = 1; 00031 } 00032 00033 int main() { 00034 float SetFreq; 00035 uint32_t temp, freqdata; 00036 uint16_t Uptemp, Lowtemp; 00037 char l[63]; 00038 00039 SCLK = 1; 00040 SDATA = 0; 00041 FSYNC = 1; 00042 FSELECT = 0; 00043 00044 lcd.cls(); 00045 lcd.locate(0,0); 00046 lcd.printf("FSK With AD9834"); 00047 00048 l[0] = 0x01; //BLNK 00049 l[1] = 0x01; //BLNK 00050 l[2] = 0x01; //BLNK 00051 l[3] = 0x03; //T 00052 l[4] = 0x0B; //H 00053 l[5] = 0x21; //E 00054 l[6] = 0x09; //SP 00055 l[7] = 0x3B; //Q 00056 l[8] = 0x39; //U 00057 l[9] = 0x19; //I 00058 l[10] = 0x1D; //C 00059 l[11] = 0x3D; //K 00060 l[12] = 0x09; //SP 00061 l[13] = 0x27; //B 00062 l[14] = 0x15; //R 00063 l[15] = 0x07; //O 00064 l[16] = 0x33; //W 00065 l[17] = 0x0D; //N 00066 l[18] = 0x09; //SP 00067 l[19] = 0x2D; //F 00068 l[20] = 0x07; //O 00069 l[21] = 0x2F; //X 00070 l[22] = 0x09; //SP 00071 l[23] = 0x35; //J 00072 l[24] = 0x39; //U 00073 l[25] = 0x0F; //M 00074 l[26] = 0x1B; //P 00075 l[27] = 0x29; //S 00076 l[28] = 0x09; //SP 00077 l[29] = 0x07; //O 00078 l[30] = 0x1F; //V 00079 l[31] = 0x21; //E 00080 l[32] = 0x15; //R 00081 l[33] = 0x09; //SP 00082 l[34] = 0x03; //T 00083 l[35] = 0x0B; //H 00084 l[36] = 0x21; //E 00085 l[37] = 0x09; //SP 00086 l[38] = 0x13; //L 00087 l[39] = 0x31; //A 00088 l[40] = 0x23; //Z 00089 l[41] = 0x2B; //Y 00090 l[42] = 0x09; //SP 00091 l[43] = 0x25; //D 00092 l[44] = 0x07; //O 00093 l[45] = 0x17; //G 00094 l[46] = 0x37; //Figures 00095 l[47] = 0x0F; //. 00096 l[48] = 0x09; //SP 00097 l[49] = 0x37; //Figures 00098 l[50] = 0x3B; //1 00099 l[51] = 0x33; //2 00100 l[52] = 0x21; //3 00101 l[53] = 0x15; //4 00102 l[54] = 0x03; //5 00103 l[55] = 0x2B; //6 00104 l[56] = 0x39; //7 00105 l[57] = 0x19; //8 00106 l[58] = 0x07; //9 00107 l[59] = 0x1B; //0 00108 l[60] = 0x05; //CR 00109 l[61] = 0x11; //LF 00110 l[62] = 0x3F; //Letter 00111 00112 freqdata = 7030000; //Space 00113 SetFreq = 5.592405 * (uint32_t)freqdata; 00114 temp = (uint32_t)SetFreq; 00115 Lowtemp = (uint16_t)(temp & 0x3FFF); 00116 Uptemp = (uint16_t)((temp/16384) & 0x3FFF); 00117 serial_out(0x2228); 00118 serial_out(Lowtemp + 0x4000); 00119 serial_out(Uptemp + 0x4000); 00120 00121 freqdata = 7030170; //Mark 00122 SetFreq = 5.592405 * (uint32_t)freqdata; 00123 temp = (uint32_t)SetFreq; 00124 Lowtemp = (uint16_t)(temp & 0x3FFF); 00125 Uptemp = (uint16_t)((temp/16384) & 0x3FFF); 00126 serial_out(0x2A28); 00127 serial_out(Lowtemp + 0x8000); 00128 serial_out(Uptemp + 0x8000); 00129 00130 while(1){ 00131 for(int i = 0; i < 64; i++){ 00132 for(int j = 0; j < 7; j++){ 00133 if((l[i] << j + 1) & 0x80) FSELECT = 1; else FSELECT = 0; 00134 if(j != 6) wait_ms(22); else wait_ms(33); 00135 } 00136 } 00137 wait_ms(1000); 00138 } 00139 }
Generated on Wed Jul 13 2022 06:10:14 by
1.7.2