lab5

Dependencies:   mbed

Committer:
csggreen
Date:
Fri Nov 24 04:12:38 2017 +0000
Revision:
0:45c3dda8ec79
lab5

Who changed what in which revision?

UserRevisionLine numberNew contents of line
csggreen 0:45c3dda8ec79 1
csggreen 0:45c3dda8ec79 2 #include "mbed.h"
csggreen 0:45c3dda8ec79 3 #include "MCP4922.h"
csggreen 0:45c3dda8ec79 4
csggreen 0:45c3dda8ec79 5 MCP4922 MCP(SPI_MOSI, SPI_SCK,SPI_CS); // MOSI, SCLK, CS
csggreen 0:45c3dda8ec79 6
csggreen 0:45c3dda8ec79 7
csggreen 0:45c3dda8ec79 8 /**** Main Function ***/
csggreen 0:45c3dda8ec79 9 int main(void)
csggreen 0:45c3dda8ec79 10 {
csggreen 0:45c3dda8ec79 11 MCP.frequency(1000000);
csggreen 0:45c3dda8ec79 12 int gs = 0;
csggreen 0:45c3dda8ec79 13 int i = 0;
csggreen 0:45c3dda8ec79 14 uint8_t state1=0;
csggreen 0:45c3dda8ec79 15 uint8_t state2=0;
csggreen 0:45c3dda8ec79 16
csggreen 0:45c3dda8ec79 17 while(1) {
csggreen 0:45c3dda8ec79 18
csggreen 0:45c3dda8ec79 19 if (gs==0){
csggreen 0:45c3dda8ec79 20 if(i <= 745) {
csggreen 0:45c3dda8ec79 21 i++;
csggreen 0:45c3dda8ec79 22
csggreen 0:45c3dda8ec79 23 }
csggreen 0:45c3dda8ec79 24 else {
csggreen 0:45c3dda8ec79 25 i=0;
csggreen 0:45c3dda8ec79 26 state1 = ~state1;
csggreen 0:45c3dda8ec79 27 }
csggreen 0:45c3dda8ec79 28
csggreen 0:45c3dda8ec79 29 if(state1 ==0) {
csggreen 0:45c3dda8ec79 30 MCP.writeA(i);
csggreen 0:45c3dda8ec79 31 }
csggreen 0:45c3dda8ec79 32 else {
csggreen 0:45c3dda8ec79 33 MCP.writeA(745-i);
csggreen 0:45c3dda8ec79 34 if(745-i==0){
csggreen 0:45c3dda8ec79 35 gs=1;
csggreen 0:45c3dda8ec79 36 state1=0;
csggreen 0:45c3dda8ec79 37 i=0;
csggreen 0:45c3dda8ec79 38 }
csggreen 0:45c3dda8ec79 39 }
csggreen 0:45c3dda8ec79 40 wait_us(1);
csggreen 0:45c3dda8ec79 41 }
csggreen 0:45c3dda8ec79 42 if(gs==1){
csggreen 0:45c3dda8ec79 43 if(i<=745){
csggreen 0:45c3dda8ec79 44 i++;
csggreen 0:45c3dda8ec79 45 }
csggreen 0:45c3dda8ec79 46 else {
csggreen 0:45c3dda8ec79 47 i=0;
csggreen 0:45c3dda8ec79 48 state2 = ~state2;
csggreen 0:45c3dda8ec79 49 }
csggreen 0:45c3dda8ec79 50 if(state2 ==0) {
csggreen 0:45c3dda8ec79 51 MCP.writeA(1490-i);
csggreen 0:45c3dda8ec79 52 }
csggreen 0:45c3dda8ec79 53 else {
csggreen 0:45c3dda8ec79 54 MCP.writeA(i+745);
csggreen 0:45c3dda8ec79 55 if(i==746){
csggreen 0:45c3dda8ec79 56 gs=0;
csggreen 0:45c3dda8ec79 57 state2=0;
csggreen 0:45c3dda8ec79 58 i=0;
csggreen 0:45c3dda8ec79 59 }
csggreen 0:45c3dda8ec79 60 }
csggreen 0:45c3dda8ec79 61 wait_us(1);
csggreen 0:45c3dda8ec79 62 }
csggreen 0:45c3dda8ec79 63 }
csggreen 0:45c3dda8ec79 64
csggreen 0:45c3dda8ec79 65 }