Serial Library STE
Dependencies: mbed mbed-rtos MODSERIAL
main.cpp
- Committer:
- JavierGC
- Date:
- 2020-12-23
- Revision:
- 0:7077a789f16a
File content as of revision 0:7077a789f16a:
#include "main.h" DigitalOut myled1(LED1); DigitalOut myled2(LED2); DigitalOut myled3(LED3); DigitalOut d1(p21); DigitalOut d2(p22); DigitalOut d3(p23); DigitalOut d4(p24); DigitalOut d5(p25); DigitalOut d6(p26); DigitalOut d7(p27); int main() { pc.start(); pc.LoadMail(2,"starting...\r"); wait_ms(100); // use this in place of wait() to exclude waiting time from // your usage value. //wait_ms(100); Setup(); //set_time(0); E=99999; while(true) { //d1=1; //wait_ms(7); //d1=0; //wait_ms(7); myled1 = 1; wait(0.25); myled1 = 0; wait(0.25); switch(E) { case PC::eState: switch (DATA[0]) { case '1': d1=(DATA[2]=='1'); break; case '2': d2=(DATA[2]=='1'); break; case '3': d3=(DATA[2]=='1'); break; case '4': d4=(DATA[2]=='1'); break; case '5': d5=(DATA[2]=='1'); break; case '6': d6=(DATA[2]=='1'); break; case '7': d7=(DATA[2]=='1'); break; default: break; } E=99999; break; case PC::ePulse: sscanf(DATA,"%[^;];%[^;]",&CMD[0],&DATO[0]); switch (CMD[0]) { case '1': d1=1; wait_us(atoi(DATO)); d1=0; break; case '2': d2=1; wait_us(atoi(DATO)); d2=0; break; case '3': d3=1; wait_us(atoi(DATO)); d3=0; break; case '4': d4=1; wait_us(atoi(DATO)); d4=0; break; case '5': d5=1; wait_us(atoi(DATO)); d5=0; break; case '6': d6=1; wait_us(atoi(DATO)); d6=0; break; case '7': d7=1; wait_us(atoi(DATO)); d7=0; break; default: break; } E=99999; break; case PC::ePulsems: sscanf(DATA,"%[^;];%[^;]",&CMD[0],&DATO[0]); switch (CMD[0]) { case '1': d1=1; wait_ms(atoi(DATO)); d1=0; break; case '2': d2=1; wait_ms(atoi(DATO)); d2=0; break; case '3': d3=1; wait_ms(atoi(DATO)); d3=0; break; case '4': d4=1; wait_ms(atoi(DATO)); d4=0; break; case '5': d5=1; wait_ms(atoi(DATO)); d5=0; break; case '6': d6=1; wait_ms(atoi(DATO)); d6=0; break; case '7': d7=1; wait_ms(atoi(DATO)); d7=0; break; default: break; } E=99999; break; case PC::ePulses: sscanf(DATA,"%[^;];%[^;]",&CMD[0],&DATO[0]); switch (CMD[0]) { case '1': d1=1; wait(atof(DATO)); d1=0; break; case '2': d2=1; wait(atof(DATO)); d2=0; break; case '3': d3=1; wait(atof(DATO)); d3=0; break; case '4': d4=1; wait(atof(DATO)); d4=0; break; case '5': d5=1; wait_us(atof(DATO)); d5=0; break; case '6': d6=1; wait_us(atof(DATO)); d6=0; break; case '7': d7=1; wait_us(atof(DATO)); d7=0; break; default: break; } E=99999; break; default: break; } } } void PCEventHandler(int e, char *data) { if(E==99999) { E=e; sprintf(DATA,"%s",data); } } void Setup() { //pc.AttachSendStatus(); pc.LoadMail(2,"\n"); pc.LoadMail(2,"\n"); pc.LoadMail(2,"\n"); pc.LoadMail(2,"************************************************"); pc.LoadMail(2,"\n"); pc.LoadMail(2,"************************************************"); pc.LoadMail(2,"\n"); pc.LoadMail(2,"\n"); pc.LoadMail(2,"\n"); DigitalOut(LED1,0); DigitalOut(LED2,0); DigitalOut(LED3,0); DigitalOut(LED4,0); }