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 /*AD9834 DDS Test 2011/07/14 MLabo*/ 00002 #include "mbed.h" 00003 #include "TextLCD.h" 00004 00005 TextLCD lcd(p24, p26, p27, p28, p29, p30); //Starboard Orenge 00006 DigitalOut FSYNC(p18); 00007 DigitalOut SCLK(p19); 00008 DigitalOut SDATA(p20); 00009 00010 Timer timer; 00011 00012 void serial_out(uint16_t data) { 00013 00014 FSYNC = 0; 00015 data & 0x8000? SDATA = 1 : SDATA = 0; SCLK = 0; SCLK = 1; 00016 data & 0x4000? SDATA = 1 : SDATA = 0; SCLK = 0; SCLK = 1; 00017 data & 0x2000? SDATA = 1 : SDATA = 0; SCLK = 0; SCLK = 1; 00018 data & 0x1000? SDATA = 1 : SDATA = 0; SCLK = 0; SCLK = 1; 00019 data & 0x0800? SDATA = 1 : SDATA = 0; SCLK = 0; SCLK = 1; 00020 data & 0x0400? SDATA = 1 : SDATA = 0; SCLK = 0; SCLK = 1; 00021 data & 0x0200? SDATA = 1 : SDATA = 0; SCLK = 0; SCLK = 1; 00022 data & 0x0100? SDATA = 1 : SDATA = 0; SCLK = 0; SCLK = 1; 00023 data & 0x0080? SDATA = 1 : SDATA = 0; SCLK = 0; SCLK = 1; 00024 data & 0x0040? SDATA = 1 : SDATA = 0; SCLK = 0; SCLK = 1; 00025 data & 0x0020? SDATA = 1 : SDATA = 0; SCLK = 0; SCLK = 1; 00026 data & 0x0010? SDATA = 1 : SDATA = 0; SCLK = 0; SCLK = 1; 00027 data & 0x0008? SDATA = 1 : SDATA = 0; SCLK = 0; SCLK = 1; 00028 data & 0x0004? SDATA = 1 : SDATA = 0; SCLK = 0; SCLK = 1; 00029 data & 0x0002? SDATA = 1 : SDATA = 0; SCLK = 0; SCLK = 1; 00030 data & 0x0001? SDATA = 1 : SDATA = 0; SCLK = 0; SCLK = 1; 00031 FSYNC = 1; 00032 } 00033 00034 int main() { 00035 float SetFreq; 00036 uint32_t temp, freqdata; 00037 uint16_t Uptemp, Lowtemp; 00038 int begin, end; 00039 00040 SCLK = 1; 00041 SDATA = 0; 00042 FSYNC = 1; 00043 00044 lcd.cls(); 00045 lcd.locate(0,0); 00046 lcd.printf("AD9834 test" ); 00047 00048 timer.start(); 00049 begin = timer.read_us(); 00050 for ( freqdata = 0; freqdata < 16000000; freqdata++) { 00051 00052 SetFreq = 5.592405 * (uint32_t)freqdata; 00053 temp = (uint32_t)SetFreq; 00054 Lowtemp = (uint16_t)(temp & 0x3FFF); 00055 Uptemp = (uint16_t)((temp/16384) & 0x3FFF); 00056 serial_out(0x2028); 00057 serial_out(Lowtemp + 0x4000); 00058 serial_out(Uptemp + 0x4000); 00059 } 00060 end = timer.read_us(); 00061 lcd.locate(0,1); 00062 lcd.printf("%duS", end - begin); 00063 while (1) {} 00064 00065 }
Generated on Thu Aug 11 2022 17:46:57 by
1.7.2