lab5

Dependencies:   mbed

Committer:
wonner163
Date:
Thu Nov 23 14:51:58 2017 +0000
Revision:
0:6e724cc2761b
lab5

Who changed what in which revision?

UserRevisionLine numberNew contents of line
wonner163 0:6e724cc2761b 1 #include "mbed.h"
wonner163 0:6e724cc2761b 2 #include "MCP4922.h"
wonner163 0:6e724cc2761b 3
wonner163 0:6e724cc2761b 4 MCP4922 MCP(SPI_MOSI, SPI_SCK,PB_6); // MOSI= D11, SCK = D13,cs
wonner163 0:6e724cc2761b 5
wonner163 0:6e724cc2761b 6
wonner163 0:6e724cc2761b 7 /**** Main Function ***/
wonner163 0:6e724cc2761b 8 int main(void)
wonner163 0:6e724cc2761b 9 {
wonner163 0:6e724cc2761b 10 MCP.frequency(3000000); //ความถี่ในการเกิด
wonner163 0:6e724cc2761b 11 uint16_t i=0;
wonner163 0:6e724cc2761b 12 uint16_t state=0;
wonner163 0:6e724cc2761b 13 while(1) {
wonner163 0:6e724cc2761b 14 if(state == 0){
wonner163 0:6e724cc2761b 15 if(i< (0x0FFE/2)){
wonner163 0:6e724cc2761b 16 i++;}
wonner163 0:6e724cc2761b 17
wonner163 0:6e724cc2761b 18 else{
wonner163 0:6e724cc2761b 19 state = 1;}
wonner163 0:6e724cc2761b 20 }
wonner163 0:6e724cc2761b 21 else if(state == 1){
wonner163 0:6e724cc2761b 22 if(i == 0){
wonner163 0:6e724cc2761b 23 i = 0x0FFE;
wonner163 0:6e724cc2761b 24 state = 2; }
wonner163 0:6e724cc2761b 25 else{
wonner163 0:6e724cc2761b 26 i--;
wonner163 0:6e724cc2761b 27 }
wonner163 0:6e724cc2761b 28 }
wonner163 0:6e724cc2761b 29 else if(state == 2){
wonner163 0:6e724cc2761b 30 if(i< (0x0FFE /2)){
wonner163 0:6e724cc2761b 31 state = 3; }
wonner163 0:6e724cc2761b 32 else{
wonner163 0:6e724cc2761b 33 i--;
wonner163 0:6e724cc2761b 34 }
wonner163 0:6e724cc2761b 35 }
wonner163 0:6e724cc2761b 36 else if(state == 3){
wonner163 0:6e724cc2761b 37 if(i == 0x0FFE){
wonner163 0:6e724cc2761b 38 i=0;
wonner163 0:6e724cc2761b 39 state = 0; }
wonner163 0:6e724cc2761b 40 else{
wonner163 0:6e724cc2761b 41 i++;}
wonner163 0:6e724cc2761b 42
wonner163 0:6e724cc2761b 43 }
wonner163 0:6e724cc2761b 44
wonner163 0:6e724cc2761b 45 MCP.writeA(i);
wonner163 0:6e724cc2761b 46 wait_us(26);
wonner163 0:6e724cc2761b 47 }
wonner163 0:6e724cc2761b 48 }