frequency 1000000 = 1 Hz
Dependencies: mbed
Fork of MCP4922_Sinewave by
Diff: main.cpp
- Revision:
- 8:cc47e185dca8
- Parent:
- 7:e0544332d8d9
--- a/main.cpp Sun Oct 29 16:03:15 2017 +0000 +++ b/main.cpp Wed Nov 22 11:52:41 2017 +0000 @@ -3,17 +3,85 @@ #include "MCP4922.h" MCP4922 MCP(SPI_MOSI, SPI_SCK,PB_6); // MOSI, SCLK, CS - +Serial pc(D1,D0); /**** Main Function ***/ int main(void) { - MCP.frequency(1000000); + MCP.frequency(7000000); uint16_t i=0; uint8_t state=0; + uint8_t chk=0; + uint8_t data; while(1) { - if(i < 0x0FFE) { + if(state==0) { + i++; + MCP.writeA(i); + if(i==0x7FF){ + state=1; + } + } + + else if (state==0 && chk==1){ + ++i; + MCP.writeA(i); + if(i==0x7FF){ + state=1; + } + } + + if(state==1){ + --i; + MCP.writeA(i); + if(i==0){ + state=2; + } + } + + if(state==2){ + i = 0x0FFE; + MCP.writeA(i); + state = 3; + } + + if(state==3){ + if(i > 0x7FF){ + --i; + MCP.writeA(i); + if(i == 0x7FF){ + state = 4; + } + } + } + + if(state==4){ + ++i; + MCP.writeA(i); + if(i == 0x0FFE){ + i = 0; + MCP.writeA(i); + state = 5; + } + } + + if(state==5){ + chk = 1; + state = 0; + } + + if(pc.readable()){ + data = pc.getc(); + if(data=='s'){ + pc.printf("i: %d, state: %d \n", i, state); + } + } + wait_us(11.99); + } +} + +/* +if(i < 0x0FFE) { i++; } else { @@ -26,6 +94,4 @@ } else { MCP.writeA( ((~i)+1)&0x0FFF); } - wait_us(50); - } -} \ No newline at end of file +*/ \ No newline at end of file