mbed2_2_b

Dependencies:   mbed

Committer:
Robsonik16
Date:
Fri May 05 19:45:32 2017 +0000
Revision:
0:eed98c69d2ce
a

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Robsonik16 0:eed98c69d2ce 1 #include "mbed.h"
Robsonik16 0:eed98c69d2ce 2
Robsonik16 0:eed98c69d2ce 3 //------------------------------------
Robsonik16 0:eed98c69d2ce 4 // Hyperterminal configuration
Robsonik16 0:eed98c69d2ce 5 // 9600 bauds, 8-bit data, no parity
Robsonik16 0:eed98c69d2ce 6 //------------------------------------
Robsonik16 0:eed98c69d2ce 7
Robsonik16 0:eed98c69d2ce 8 RawSerial pc(USBTX,USBRX,9600);
Robsonik16 0:eed98c69d2ce 9
Robsonik16 0:eed98c69d2ce 10 DigitalOut led_green(LED1);
Robsonik16 0:eed98c69d2ce 11 DigitalOut led_red(LED2);
Robsonik16 0:eed98c69d2ce 12
Robsonik16 0:eed98c69d2ce 13
Robsonik16 0:eed98c69d2ce 14
Robsonik16 0:eed98c69d2ce 15 Timeout LedTimeout;
Robsonik16 0:eed98c69d2ce 16
Robsonik16 0:eed98c69d2ce 17 void LedOff(){
Robsonik16 0:eed98c69d2ce 18 led_red=0;
Robsonik16 0:eed98c69d2ce 19 }
Robsonik16 0:eed98c69d2ce 20 int my_puts(char tab[],int size)
Robsonik16 0:eed98c69d2ce 21 {
Robsonik16 0:eed98c69d2ce 22 //retutn 0 if string is valid
Robsonik16 0:eed98c69d2ce 23 bool StringIsValid=false;
Robsonik16 0:eed98c69d2ce 24 for( int index=0; index<size; index++) {
Robsonik16 0:eed98c69d2ce 25 if (tab[index]==NULL) {
Robsonik16 0:eed98c69d2ce 26 StringIsValid = true;
Robsonik16 0:eed98c69d2ce 27 break;
Robsonik16 0:eed98c69d2ce 28 }
Robsonik16 0:eed98c69d2ce 29 }
Robsonik16 0:eed98c69d2ce 30 if(StringIsValid == false) return(1);
Robsonik16 0:eed98c69d2ce 31
Robsonik16 0:eed98c69d2ce 32 for( int index=0; index<size; index++) {
Robsonik16 0:eed98c69d2ce 33 if (tab[index]==NULL) {
Robsonik16 0:eed98c69d2ce 34 pc.putc('\r');
Robsonik16 0:eed98c69d2ce 35 while(!pc.writeable());
Robsonik16 0:eed98c69d2ce 36 pc.putc('\n');
Robsonik16 0:eed98c69d2ce 37 return(0);
Robsonik16 0:eed98c69d2ce 38 }
Robsonik16 0:eed98c69d2ce 39 while(!pc.writeable());
Robsonik16 0:eed98c69d2ce 40 pc.putc(tab[index]);
Robsonik16 0:eed98c69d2ce 41 }
Robsonik16 0:eed98c69d2ce 42 return(0);
Robsonik16 0:eed98c69d2ce 43 }
Robsonik16 0:eed98c69d2ce 44
Robsonik16 0:eed98c69d2ce 45
Robsonik16 0:eed98c69d2ce 46 char my_gets(char str[],int size)
Robsonik16 0:eed98c69d2ce 47 {
Robsonik16 0:eed98c69d2ce 48 if (!pc.readable())return (NULL);
Robsonik16 0:eed98c69d2ce 49 char c;
Robsonik16 0:eed98c69d2ce 50 for(int index=0;index <size; index++) {
Robsonik16 0:eed98c69d2ce 51 c=pc.getc();
Robsonik16 0:eed98c69d2ce 52 pc.putc(c);
Robsonik16 0:eed98c69d2ce 53 if ((c=='\r')||(c=='\n')) {
Robsonik16 0:eed98c69d2ce 54 pc.putc('\r');
Robsonik16 0:eed98c69d2ce 55 pc.putc('\n');
Robsonik16 0:eed98c69d2ce 56 str[index]=NULL;
Robsonik16 0:eed98c69d2ce 57 return (1);
Robsonik16 0:eed98c69d2ce 58 }
Robsonik16 0:eed98c69d2ce 59 str[index]=c;
Robsonik16 0:eed98c69d2ce 60 }
Robsonik16 0:eed98c69d2ce 61 LedTimeout.attach(&LedOff, 5);
Robsonik16 0:eed98c69d2ce 62 led_red=1;
Robsonik16 0:eed98c69d2ce 63 return (1);
Robsonik16 0:eed98c69d2ce 64 }
Robsonik16 0:eed98c69d2ce 65
Robsonik16 0:eed98c69d2ce 66 int main()
Robsonik16 0:eed98c69d2ce 67 {
Robsonik16 0:eed98c69d2ce 68 //user_button.rise(&button_pressed);
Robsonik16 0:eed98c69d2ce 69 //user_button.fall(&button_released);
Robsonik16 0:eed98c69d2ce 70
Robsonik16 0:eed98c69d2ce 71 //pc.format(8, Serial::None, 1);
Robsonik16 0:eed98c69d2ce 72
Robsonik16 0:eed98c69d2ce 73 //pc.baud(9600);
Robsonik16 0:eed98c69d2ce 74
Robsonik16 0:eed98c69d2ce 75 bool flag=false;
Robsonik16 0:eed98c69d2ce 76
Robsonik16 0:eed98c69d2ce 77 const char tekstSize = 7;
Robsonik16 0:eed98c69d2ce 78 char tekst[tekstSize];
Robsonik16 0:eed98c69d2ce 79 char init[] = "system start\r\n";
Robsonik16 0:eed98c69d2ce 80 my_puts(init,tekstSize);
Robsonik16 0:eed98c69d2ce 81
Robsonik16 0:eed98c69d2ce 82
Robsonik16 0:eed98c69d2ce 83
Robsonik16 0:eed98c69d2ce 84 while(1) {
Robsonik16 0:eed98c69d2ce 85
Robsonik16 0:eed98c69d2ce 86
Robsonik16 0:eed98c69d2ce 87
Robsonik16 0:eed98c69d2ce 88 if (my_gets(tekst,tekstSize)!=NULL) {
Robsonik16 0:eed98c69d2ce 89 /
Robsonik16 0:eed98c69d2ce 90 my_puts(tekst,tekstSize);
Robsonik16 0:eed98c69d2ce 91 if(strcmp(tekst,"on"))flag = true;
Robsonik16 0:eed98c69d2ce 92 if(strcmp(tekst,"off"))flag = false;
Robsonik16 0:eed98c69d2ce 93 if(strcmp(tekst,"toggle"))flag = !flag;
Robsonik16 0:eed98c69d2ce 94 led_green =flag;
Robsonik16 0:eed98c69d2ce 95 }
Robsonik16 0:eed98c69d2ce 96 }
Robsonik16 0:eed98c69d2ce 97 }
Robsonik16 0:eed98c69d2ce 98