frequency 1000000 = 1 Hz

Dependencies:   mbed

Fork of MCP4922_Sinewave by FRA221_2017

Files at this revision

API Documentation at this revision

Comitter:
59340500018
Date:
Wed Nov 22 11:52:41 2017 +0000
Parent:
7:e0544332d8d9
Commit message:
MCP4922_wave

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
diff -r e0544332d8d9 -r cc47e185dca8 main.cpp
--- 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