11 years, 11 months ago.

error 158 serial.attach(&serial_interrupt(), Serial::RxIrq);<</code>>

The program is hanging at the line that reads : serial.attach(&serial_interrupt(), Serial::RxIrq); :with an error 158 issued on the compile

I think the serial interrupt is not setting and needs to be a logic zero when there is no interrupt . Final code will be for UART pin 9&10 with baud 2400 I need the LEDs to light when function2 to 4 are activated, and turn off with function1

<<code>>#include "mbed.h"<</code>> <<code>><</code>> <<code>>DigitalOut led1(LED1); //assign led function<</code>> <<code>>DigitalOut led2(LED2);<</code>> <<code>>DigitalOut led3(LED3);<</code>> <<code>>DigitalOut led4(LED4);<</code>> <<code>><</code>> <<code>><</code>> <<code>>char buffer[8];<</code>> <<code>>char function1[] = {0xF9, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0xC2, 0x00}; // Array for function<</code>> <<code>>char function2[] = {0xF9, 0xFF, 0xBF, 0xFF, 0xFF, 0xA1, 0x42, 0x00};<</code>> <<code>>char function3[] = {0xF9, 0xFF, 0x7F, 0xFF, 0xFF, 0xA1, 0xC2, 0x00};<</code>> <<code>>char function4[] = {0xF9, 0xFF, 0xE8, 0x99, 0xDF, 0xA1, 0x66, 0x00};<</code>> <<code>><</code>> <<code>>Serial serial(p9, p10);<</code>> <<code>>Serial pc(USBTX, USBRX);<</code>> <<code>><</code>> <<code>>int i = 0;<</code>> <<code>><</code>> <<code>>void serial_interrupt()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> unsigned char d;<</code>> <<code>> if(serial.readable()) { // check availability<</code>> <<code>> d = serial.getc();<</code>> <<code>> if (d == 0xf9) {<</code>> <<code>> buffer[0] = d;<</code>> <<code>> i = 1;<</code>> <<code>> led1 = 1;<</code>> <<code>> } else {<</code>> <<code>> buffer[i] = d; // copy the serial input to buffer<</code>> <<code>> i++; // increment buffer value<</code>> <<code>> }<</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>>int main()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> serial.attach(&serial_interrupt(), Serial::RxIrq);<</code>> <<code>> while(true) {<</code>> <<code>> if(!memcmp(buffer, function1, 8)) {<</code>> <<code>> led4 = 1 ;<</code>> <<code>> i = 0; // doing this prevents buffer overflow, i.e. you reset i, to point to buffer[0] again.<</code>> <<code>><</code>> <<code>> if(buffer == function2);<</code>> <<code>> led3 = 1;<</code>> <<code>><</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>><</code>> <<code>>DigitalOut led1(LED1); //assign led function<</code>> <<code>>DigitalOut led2(LED2);<</code>> <<code>>DigitalOut led3(LED3);<</code>> <<code>>DigitalOut led4(LED4);<</code>> <<code>><</code>> <<code>><</code>> <<code>>char buffer[8];<</code>> <<code>>char function1[] = {0xF9, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0xC2, 0x00}; // Array for function<</code>> <<code>>char function2[] = {0xF9, 0xFF, 0xBF, 0xFF, 0xFF, 0xA1, 0x42, 0x00};<</code>> <<code>>char function3[] = {0xF9, 0xFF, 0x7F, 0xFF, 0xFF, 0xA1, 0xC2, 0x00};<</code>> <<code>>char function4[] = {0xF9, 0xFF, 0xE8, 0x99, 0xDF, 0xA1, 0x66, 0x00};<</code>> <<code>><</code>> <<code>>Serial serial(p9, p10);<</code>> <<code>>Serial pc(USBTX, USBRX);<</code>> <<code>><</code>> <<code>>int i = 0;<</code>> <<code>><</code>> <<code>>void serial_interrupt()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> unsigned char d;<</code>> <<code>> if(serial.readable()) { // check availability<</code>> <<code>> d = serial.getc();<</code>> <<code>> if (d == 0xf9) {<</code>> <<code>> buffer[0] = d;<</code>> <<code>> i = 1;<</code>> <<code>> led1 = 1;<</code>> <<code>> } else {<</code>> <<code>> buffer[i] = d; // copy the serial input to buffer<</code>> <<code>> i++; // increment buffer value<</code>> <<code>> }<</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>>int main()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> serial.attach(&serial_interrupt(), Serial::RxIrq);<</code>> <<code>> while(true) {<</code>> <<code>> if(!memcmp(buffer, function1, 8)) {<</code>> <<code>> led4 = 1 ;<</code>> <<code>> i = 0; // doing this prevents buffer overflow, i.e. you reset i, to point to buffer[0] again.<</code>> <<code>><</code>> <<code>> if(buffer == function2);<</code>> <<code>> led3 = 1;<</code>> <<code>><</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>>DigitalOut led1(LED1); //assign led function<</code>> <<code>>DigitalOut led2(LED2);<</code>> <<code>>DigitalOut led3(LED3);<</code>> <<code>>DigitalOut led4(LED4);<</code>> <<code>><</code>> <<code>><</code>> <<code>>char buffer[8];<</code>> <<code>>char function1[] = {0xF9, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0xC2, 0x00}; // Array for function<</code>> <<code>>char function2[] = {0xF9, 0xFF, 0xBF, 0xFF, 0xFF, 0xA1, 0x42, 0x00};<</code>> <<code>>char function3[] = {0xF9, 0xFF, 0x7F, 0xFF, 0xFF, 0xA1, 0xC2, 0x00};<</code>> <<code>>char function4[] = {0xF9, 0xFF, 0xE8, 0x99, 0xDF, 0xA1, 0x66, 0x00};<</code>> <<code>><</code>> <<code>>Serial serial(p9, p10);<</code>> <<code>>Serial pc(USBTX, USBRX);<</code>> <<code>><</code>> <<code>>int i = 0;<</code>> <<code>><</code>> <<code>>void serial_interrupt()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> unsigned char d;<</code>> <<code>> if(serial.readable()) { // check availability<</code>> <<code>> d = serial.getc();<</code>> <<code>> if (d == 0xf9) {<</code>> <<code>> buffer[0] = d;<</code>> <<code>> i = 1;<</code>> <<code>> led1 = 1;<</code>> <<code>> } else {<</code>> <<code>> buffer[i] = d; // copy the serial input to buffer<</code>> <<code>> i++; // increment buffer value<</code>> <<code>> }<</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>>int main()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> serial.attach(&serial_interrupt(), Serial::RxIrq);<</code>> <<code>> while(true) {<</code>> <<code>> if(!memcmp(buffer, function1, 8)) {<</code>> <<code>> led4 = 1 ;<</code>> <<code>> i = 0; // doing this prevents buffer overflow, i.e. you reset i, to point to buffer[0] again.<</code>> <<code>><</code>> <<code>> if(buffer == function2);<</code>> <<code>> led3 = 1;<</code>> <<code>><</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>>DigitalOut led2(LED2);<</code>> <<code>>DigitalOut led3(LED3);<</code>> <<code>>DigitalOut led4(LED4);<</code>> <<code>><</code>> <<code>><</code>> <<code>>char buffer[8];<</code>> <<code>>char function1[] = {0xF9, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0xC2, 0x00}; // Array for function<</code>> <<code>>char function2[] = {0xF9, 0xFF, 0xBF, 0xFF, 0xFF, 0xA1, 0x42, 0x00};<</code>> <<code>>char function3[] = {0xF9, 0xFF, 0x7F, 0xFF, 0xFF, 0xA1, 0xC2, 0x00};<</code>> <<code>>char function4[] = {0xF9, 0xFF, 0xE8, 0x99, 0xDF, 0xA1, 0x66, 0x00};<</code>> <<code>><</code>> <<code>>Serial serial(p9, p10);<</code>> <<code>>Serial pc(USBTX, USBRX);<</code>> <<code>><</code>> <<code>>int i = 0;<</code>> <<code>><</code>> <<code>>void serial_interrupt()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> unsigned char d;<</code>> <<code>> if(serial.readable()) { // check availability<</code>> <<code>> d = serial.getc();<</code>> <<code>> if (d == 0xf9) {<</code>> <<code>> buffer[0] = d;<</code>> <<code>> i = 1;<</code>> <<code>> led1 = 1;<</code>> <<code>> } else {<</code>> <<code>> buffer[i] = d; // copy the serial input to buffer<</code>> <<code>> i++; // increment buffer value<</code>> <<code>> }<</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>>int main()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> serial.attach(&serial_interrupt(), Serial::RxIrq);<</code>> <<code>> while(true) {<</code>> <<code>> if(!memcmp(buffer, function1, 8)) {<</code>> <<code>> led4 = 1 ;<</code>> <<code>> i = 0; // doing this prevents buffer overflow, i.e. you reset i, to point to buffer[0] again.<</code>> <<code>><</code>> <<code>> if(buffer == function2);<</code>> <<code>> led3 = 1;<</code>> <<code>><</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>>DigitalOut led3(LED3);<</code>> <<code>>DigitalOut led4(LED4);<</code>> <<code>><</code>> <<code>><</code>> <<code>>char buffer[8];<</code>> <<code>>char function1[] = {0xF9, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0xC2, 0x00}; // Array for function<</code>> <<code>>char function2[] = {0xF9, 0xFF, 0xBF, 0xFF, 0xFF, 0xA1, 0x42, 0x00};<</code>> <<code>>char function3[] = {0xF9, 0xFF, 0x7F, 0xFF, 0xFF, 0xA1, 0xC2, 0x00};<</code>> <<code>>char function4[] = {0xF9, 0xFF, 0xE8, 0x99, 0xDF, 0xA1, 0x66, 0x00};<</code>> <<code>><</code>> <<code>>Serial serial(p9, p10);<</code>> <<code>>Serial pc(USBTX, USBRX);<</code>> <<code>><</code>> <<code>>int i = 0;<</code>> <<code>><</code>> <<code>>void serial_interrupt()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> unsigned char d;<</code>> <<code>> if(serial.readable()) { // check availability<</code>> <<code>> d = serial.getc();<</code>> <<code>> if (d == 0xf9) {<</code>> <<code>> buffer[0] = d;<</code>> <<code>> i = 1;<</code>> <<code>> led1 = 1;<</code>> <<code>> } else {<</code>> <<code>> buffer[i] = d; // copy the serial input to buffer<</code>> <<code>> i++; // increment buffer value<</code>> <<code>> }<</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>>int main()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> serial.attach(&serial_interrupt(), Serial::RxIrq);<</code>> <<code>> while(true) {<</code>> <<code>> if(!memcmp(buffer, function1, 8)) {<</code>> <<code>> led4 = 1 ;<</code>> <<code>> i = 0; // doing this prevents buffer overflow, i.e. you reset i, to point to buffer[0] again.<</code>> <<code>><</code>> <<code>> if(buffer == function2);<</code>> <<code>> led3 = 1;<</code>> <<code>><</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>>DigitalOut led4(LED4);<</code>> <<code>><</code>> <<code>><</code>> <<code>>char buffer[8];<</code>> <<code>>char function1[] = {0xF9, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0xC2, 0x00}; // Array for function<</code>> <<code>>char function2[] = {0xF9, 0xFF, 0xBF, 0xFF, 0xFF, 0xA1, 0x42, 0x00};<</code>> <<code>>char function3[] = {0xF9, 0xFF, 0x7F, 0xFF, 0xFF, 0xA1, 0xC2, 0x00};<</code>> <<code>>char function4[] = {0xF9, 0xFF, 0xE8, 0x99, 0xDF, 0xA1, 0x66, 0x00};<</code>> <<code>><</code>> <<code>>Serial serial(p9, p10);<</code>> <<code>>Serial pc(USBTX, USBRX);<</code>> <<code>><</code>> <<code>>int i = 0;<</code>> <<code>><</code>> <<code>>void serial_interrupt()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> unsigned char d;<</code>> <<code>> if(serial.readable()) { // check availability<</code>> <<code>> d = serial.getc();<</code>> <<code>> if (d == 0xf9) {<</code>> <<code>> buffer[0] = d;<</code>> <<code>> i = 1;<</code>> <<code>> led1 = 1;<</code>> <<code>> } else {<</code>> <<code>> buffer[i] = d; // copy the serial input to buffer<</code>> <<code>> i++; // increment buffer value<</code>> <<code>> }<</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>>int main()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> serial.attach(&serial_interrupt(), Serial::RxIrq);<</code>> <<code>> while(true) {<</code>> <<code>> if(!memcmp(buffer, function1, 8)) {<</code>> <<code>> led4 = 1 ;<</code>> <<code>> i = 0; // doing this prevents buffer overflow, i.e. you reset i, to point to buffer[0] again.<</code>> <<code>><</code>> <<code>> if(buffer == function2);<</code>> <<code>> led3 = 1;<</code>> <<code>><</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>><</code>> <<code>><</code>> <<code>>char buffer[8];<</code>> <<code>>char function1[] = {0xF9, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0xC2, 0x00}; // Array for function<</code>> <<code>>char function2[] = {0xF9, 0xFF, 0xBF, 0xFF, 0xFF, 0xA1, 0x42, 0x00};<</code>> <<code>>char function3[] = {0xF9, 0xFF, 0x7F, 0xFF, 0xFF, 0xA1, 0xC2, 0x00};<</code>> <<code>>char function4[] = {0xF9, 0xFF, 0xE8, 0x99, 0xDF, 0xA1, 0x66, 0x00};<</code>> <<code>><</code>> <<code>>Serial serial(p9, p10);<</code>> <<code>>Serial pc(USBTX, USBRX);<</code>> <<code>><</code>> <<code>>int i = 0;<</code>> <<code>><</code>> <<code>>void serial_interrupt()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> unsigned char d;<</code>> <<code>> if(serial.readable()) { // check availability<</code>> <<code>> d = serial.getc();<</code>> <<code>> if (d == 0xf9) {<</code>> <<code>> buffer[0] = d;<</code>> <<code>> i = 1;<</code>> <<code>> led1 = 1;<</code>> <<code>> } else {<</code>> <<code>> buffer[i] = d; // copy the serial input to buffer<</code>> <<code>> i++; // increment buffer value<</code>> <<code>> }<</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>>int main()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> serial.attach(&serial_interrupt(), Serial::RxIrq);<</code>> <<code>> while(true) {<</code>> <<code>> if(!memcmp(buffer, function1, 8)) {<</code>> <<code>> led4 = 1 ;<</code>> <<code>> i = 0; // doing this prevents buffer overflow, i.e. you reset i, to point to buffer[0] again.<</code>> <<code>><</code>> <<code>> if(buffer == function2);<</code>> <<code>> led3 = 1;<</code>> <<code>><</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>><</code>> <<code>>char buffer[8];<</code>> <<code>>char function1[] = {0xF9, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0xC2, 0x00}; // Array for function<</code>> <<code>>char function2[] = {0xF9, 0xFF, 0xBF, 0xFF, 0xFF, 0xA1, 0x42, 0x00};<</code>> <<code>>char function3[] = {0xF9, 0xFF, 0x7F, 0xFF, 0xFF, 0xA1, 0xC2, 0x00};<</code>> <<code>>char function4[] = {0xF9, 0xFF, 0xE8, 0x99, 0xDF, 0xA1, 0x66, 0x00};<</code>> <<code>><</code>> <<code>>Serial serial(p9, p10);<</code>> <<code>>Serial pc(USBTX, USBRX);<</code>> <<code>><</code>> <<code>>int i = 0;<</code>> <<code>><</code>> <<code>>void serial_interrupt()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> unsigned char d;<</code>> <<code>> if(serial.readable()) { // check availability<</code>> <<code>> d = serial.getc();<</code>> <<code>> if (d == 0xf9) {<</code>> <<code>> buffer[0] = d;<</code>> <<code>> i = 1;<</code>> <<code>> led1 = 1;<</code>> <<code>> } else {<</code>> <<code>> buffer[i] = d; // copy the serial input to buffer<</code>> <<code>> i++; // increment buffer value<</code>> <<code>> }<</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>>int main()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> serial.attach(&serial_interrupt(), Serial::RxIrq);<</code>> <<code>> while(true) {<</code>> <<code>> if(!memcmp(buffer, function1, 8)) {<</code>> <<code>> led4 = 1 ;<</code>> <<code>> i = 0; // doing this prevents buffer overflow, i.e. you reset i, to point to buffer[0] again.<</code>> <<code>><</code>> <<code>> if(buffer == function2);<</code>> <<code>> led3 = 1;<</code>> <<code>><</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>>char buffer[8];<</code>> <<code>>char function1[] = {0xF9, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0xC2, 0x00}; // Array for function<</code>> <<code>>char function2[] = {0xF9, 0xFF, 0xBF, 0xFF, 0xFF, 0xA1, 0x42, 0x00};<</code>> <<code>>char function3[] = {0xF9, 0xFF, 0x7F, 0xFF, 0xFF, 0xA1, 0xC2, 0x00};<</code>> <<code>>char function4[] = {0xF9, 0xFF, 0xE8, 0x99, 0xDF, 0xA1, 0x66, 0x00};<</code>> <<code>><</code>> <<code>>Serial serial(p9, p10);<</code>> <<code>>Serial pc(USBTX, USBRX);<</code>> <<code>><</code>> <<code>>int i = 0;<</code>> <<code>><</code>> <<code>>void serial_interrupt()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> unsigned char d;<</code>> <<code>> if(serial.readable()) { // check availability<</code>> <<code>> d = serial.getc();<</code>> <<code>> if (d == 0xf9) {<</code>> <<code>> buffer[0] = d;<</code>> <<code>> i = 1;<</code>> <<code>> led1 = 1;<</code>> <<code>> } else {<</code>> <<code>> buffer[i] = d; // copy the serial input to buffer<</code>> <<code>> i++; // increment buffer value<</code>> <<code>> }<</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>>int main()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> serial.attach(&serial_interrupt(), Serial::RxIrq);<</code>> <<code>> while(true) {<</code>> <<code>> if(!memcmp(buffer, function1, 8)) {<</code>> <<code>> led4 = 1 ;<</code>> <<code>> i = 0; // doing this prevents buffer overflow, i.e. you reset i, to point to buffer[0] again.<</code>> <<code>><</code>> <<code>> if(buffer == function2);<</code>> <<code>> led3 = 1;<</code>> <<code>><</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>>char function1[] = {0xF9, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0xC2, 0x00}; // Array for function<</code>> <<code>>char function2[] = {0xF9, 0xFF, 0xBF, 0xFF, 0xFF, 0xA1, 0x42, 0x00};<</code>> <<code>>char function3[] = {0xF9, 0xFF, 0x7F, 0xFF, 0xFF, 0xA1, 0xC2, 0x00};<</code>> <<code>>char function4[] = {0xF9, 0xFF, 0xE8, 0x99, 0xDF, 0xA1, 0x66, 0x00};<</code>> <<code>><</code>> <<code>>Serial serial(p9, p10);<</code>> <<code>>Serial pc(USBTX, USBRX);<</code>> <<code>><</code>> <<code>>int i = 0;<</code>> <<code>><</code>> <<code>>void serial_interrupt()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> unsigned char d;<</code>> <<code>> if(serial.readable()) { // check availability<</code>> <<code>> d = serial.getc();<</code>> <<code>> if (d == 0xf9) {<</code>> <<code>> buffer[0] = d;<</code>> <<code>> i = 1;<</code>> <<code>> led1 = 1;<</code>> <<code>> } else {<</code>> <<code>> buffer[i] = d; // copy the serial input to buffer<</code>> <<code>> i++; // increment buffer value<</code>> <<code>> }<</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>>int main()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> serial.attach(&serial_interrupt(), Serial::RxIrq);<</code>> <<code>> while(true) {<</code>> <<code>> if(!memcmp(buffer, function1, 8)) {<</code>> <<code>> led4 = 1 ;<</code>> <<code>> i = 0; // doing this prevents buffer overflow, i.e. you reset i, to point to buffer[0] again.<</code>> <<code>><</code>> <<code>> if(buffer == function2);<</code>> <<code>> led3 = 1;<</code>> <<code>><</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>>char function2[] = {0xF9, 0xFF, 0xBF, 0xFF, 0xFF, 0xA1, 0x42, 0x00};<</code>> <<code>>char function3[] = {0xF9, 0xFF, 0x7F, 0xFF, 0xFF, 0xA1, 0xC2, 0x00};<</code>> <<code>>char function4[] = {0xF9, 0xFF, 0xE8, 0x99, 0xDF, 0xA1, 0x66, 0x00};<</code>> <<code>><</code>> <<code>>Serial serial(p9, p10);<</code>> <<code>>Serial pc(USBTX, USBRX);<</code>> <<code>><</code>> <<code>>int i = 0;<</code>> <<code>><</code>> <<code>>void serial_interrupt()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> unsigned char d;<</code>> <<code>> if(serial.readable()) { // check availability<</code>> <<code>> d = serial.getc();<</code>> <<code>> if (d == 0xf9) {<</code>> <<code>> buffer[0] = d;<</code>> <<code>> i = 1;<</code>> <<code>> led1 = 1;<</code>> <<code>> } else {<</code>> <<code>> buffer[i] = d; // copy the serial input to buffer<</code>> <<code>> i++; // increment buffer value<</code>> <<code>> }<</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>>int main()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> serial.attach(&serial_interrupt(), Serial::RxIrq);<</code>> <<code>> while(true) {<</code>> <<code>> if(!memcmp(buffer, function1, 8)) {<</code>> <<code>> led4 = 1 ;<</code>> <<code>> i = 0; // doing this prevents buffer overflow, i.e. you reset i, to point to buffer[0] again.<</code>> <<code>><</code>> <<code>> if(buffer == function2);<</code>> <<code>> led3 = 1;<</code>> <<code>><</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>>char function3[] = {0xF9, 0xFF, 0x7F, 0xFF, 0xFF, 0xA1, 0xC2, 0x00};<</code>> <<code>>char function4[] = {0xF9, 0xFF, 0xE8, 0x99, 0xDF, 0xA1, 0x66, 0x00};<</code>> <<code>><</code>> <<code>>Serial serial(p9, p10);<</code>> <<code>>Serial pc(USBTX, USBRX);<</code>> <<code>><</code>> <<code>>int i = 0;<</code>> <<code>><</code>> <<code>>void serial_interrupt()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> unsigned char d;<</code>> <<code>> if(serial.readable()) { // check availability<</code>> <<code>> d = serial.getc();<</code>> <<code>> if (d == 0xf9) {<</code>> <<code>> buffer[0] = d;<</code>> <<code>> i = 1;<</code>> <<code>> led1 = 1;<</code>> <<code>> } else {<</code>> <<code>> buffer[i] = d; // copy the serial input to buffer<</code>> <<code>> i++; // increment buffer value<</code>> <<code>> }<</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>>int main()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> serial.attach(&serial_interrupt(), Serial::RxIrq);<</code>> <<code>> while(true) {<</code>> <<code>> if(!memcmp(buffer, function1, 8)) {<</code>> <<code>> led4 = 1 ;<</code>> <<code>> i = 0; // doing this prevents buffer overflow, i.e. you reset i, to point to buffer[0] again.<</code>> <<code>><</code>> <<code>> if(buffer == function2);<</code>> <<code>> led3 = 1;<</code>> <<code>><</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>>char function4[] = {0xF9, 0xFF, 0xE8, 0x99, 0xDF, 0xA1, 0x66, 0x00};<</code>> <<code>><</code>> <<code>>Serial serial(p9, p10);<</code>> <<code>>Serial pc(USBTX, USBRX);<</code>> <<code>><</code>> <<code>>int i = 0;<</code>> <<code>><</code>> <<code>>void serial_interrupt()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> unsigned char d;<</code>> <<code>> if(serial.readable()) { // check availability<</code>> <<code>> d = serial.getc();<</code>> <<code>> if (d == 0xf9) {<</code>> <<code>> buffer[0] = d;<</code>> <<code>> i = 1;<</code>> <<code>> led1 = 1;<</code>> <<code>> } else {<</code>> <<code>> buffer[i] = d; // copy the serial input to buffer<</code>> <<code>> i++; // increment buffer value<</code>> <<code>> }<</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>>int main()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> serial.attach(&serial_interrupt(), Serial::RxIrq);<</code>> <<code>> while(true) {<</code>> <<code>> if(!memcmp(buffer, function1, 8)) {<</code>> <<code>> led4 = 1 ;<</code>> <<code>> i = 0; // doing this prevents buffer overflow, i.e. you reset i, to point to buffer[0] again.<</code>> <<code>><</code>> <<code>> if(buffer == function2);<</code>> <<code>> led3 = 1;<</code>> <<code>><</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>><</code>> <<code>>Serial serial(p9, p10);<</code>> <<code>>Serial pc(USBTX, USBRX);<</code>> <<code>><</code>> <<code>>int i = 0;<</code>> <<code>><</code>> <<code>>void serial_interrupt()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> unsigned char d;<</code>> <<code>> if(serial.readable()) { // check availability<</code>> <<code>> d = serial.getc();<</code>> <<code>> if (d == 0xf9) {<</code>> <<code>> buffer[0] = d;<</code>> <<code>> i = 1;<</code>> <<code>> led1 = 1;<</code>> <<code>> } else {<</code>> <<code>> buffer[i] = d; // copy the serial input to buffer<</code>> <<code>> i++; // increment buffer value<</code>> <<code>> }<</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>>int main()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> serial.attach(&serial_interrupt(), Serial::RxIrq);<</code>> <<code>> while(true) {<</code>> <<code>> if(!memcmp(buffer, function1, 8)) {<</code>> <<code>> led4 = 1 ;<</code>> <<code>> i = 0; // doing this prevents buffer overflow, i.e. you reset i, to point to buffer[0] again.<</code>> <<code>><</code>> <<code>> if(buffer == function2);<</code>> <<code>> led3 = 1;<</code>> <<code>><</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>>Serial serial(p9, p10);<</code>> <<code>>Serial pc(USBTX, USBRX);<</code>> <<code>><</code>> <<code>>int i = 0;<</code>> <<code>><</code>> <<code>>void serial_interrupt()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> unsigned char d;<</code>> <<code>> if(serial.readable()) { // check availability<</code>> <<code>> d = serial.getc();<</code>> <<code>> if (d == 0xf9) {<</code>> <<code>> buffer[0] = d;<</code>> <<code>> i = 1;<</code>> <<code>> led1 = 1;<</code>> <<code>> } else {<</code>> <<code>> buffer[i] = d; // copy the serial input to buffer<</code>> <<code>> i++; // increment buffer value<</code>> <<code>> }<</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>>int main()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> serial.attach(&serial_interrupt(), Serial::RxIrq);<</code>> <<code>> while(true) {<</code>> <<code>> if(!memcmp(buffer, function1, 8)) {<</code>> <<code>> led4 = 1 ;<</code>> <<code>> i = 0; // doing this prevents buffer overflow, i.e. you reset i, to point to buffer[0] again.<</code>> <<code>><</code>> <<code>> if(buffer == function2);<</code>> <<code>> led3 = 1;<</code>> <<code>><</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>>Serial pc(USBTX, USBRX);<</code>> <<code>><</code>> <<code>>int i = 0;<</code>> <<code>><</code>> <<code>>void serial_interrupt()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> unsigned char d;<</code>> <<code>> if(serial.readable()) { // check availability<</code>> <<code>> d = serial.getc();<</code>> <<code>> if (d == 0xf9) {<</code>> <<code>> buffer[0] = d;<</code>> <<code>> i = 1;<</code>> <<code>> led1 = 1;<</code>> <<code>> } else {<</code>> <<code>> buffer[i] = d; // copy the serial input to buffer<</code>> <<code>> i++; // increment buffer value<</code>> <<code>> }<</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>>int main()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> serial.attach(&serial_interrupt(), Serial::RxIrq);<</code>> <<code>> while(true) {<</code>> <<code>> if(!memcmp(buffer, function1, 8)) {<</code>> <<code>> led4 = 1 ;<</code>> <<code>> i = 0; // doing this prevents buffer overflow, i.e. you reset i, to point to buffer[0] again.<</code>> <<code>><</code>> <<code>> if(buffer == function2);<</code>> <<code>> led3 = 1;<</code>> <<code>><</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>><</code>> <<code>>int i = 0;<</code>> <<code>><</code>> <<code>>void serial_interrupt()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> unsigned char d;<</code>> <<code>> if(serial.readable()) { // check availability<</code>> <<code>> d = serial.getc();<</code>> <<code>> if (d == 0xf9) {<</code>> <<code>> buffer[0] = d;<</code>> <<code>> i = 1;<</code>> <<code>> led1 = 1;<</code>> <<code>> } else {<</code>> <<code>> buffer[i] = d; // copy the serial input to buffer<</code>> <<code>> i++; // increment buffer value<</code>> <<code>> }<</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>>int main()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> serial.attach(&serial_interrupt(), Serial::RxIrq);<</code>> <<code>> while(true) {<</code>> <<code>> if(!memcmp(buffer, function1, 8)) {<</code>> <<code>> led4 = 1 ;<</code>> <<code>> i = 0; // doing this prevents buffer overflow, i.e. you reset i, to point to buffer[0] again.<</code>> <<code>><</code>> <<code>> if(buffer == function2);<</code>> <<code>> led3 = 1;<</code>> <<code>><</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>>int i = 0;<</code>> <<code>><</code>> <<code>>void serial_interrupt()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> unsigned char d;<</code>> <<code>> if(serial.readable()) { // check availability<</code>> <<code>> d = serial.getc();<</code>> <<code>> if (d == 0xf9) {<</code>> <<code>> buffer[0] = d;<</code>> <<code>> i = 1;<</code>> <<code>> led1 = 1;<</code>> <<code>> } else {<</code>> <<code>> buffer[i] = d; // copy the serial input to buffer<</code>> <<code>> i++; // increment buffer value<</code>> <<code>> }<</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>>int main()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> serial.attach(&serial_interrupt(), Serial::RxIrq);<</code>> <<code>> while(true) {<</code>> <<code>> if(!memcmp(buffer, function1, 8)) {<</code>> <<code>> led4 = 1 ;<</code>> <<code>> i = 0; // doing this prevents buffer overflow, i.e. you reset i, to point to buffer[0] again.<</code>> <<code>><</code>> <<code>> if(buffer == function2);<</code>> <<code>> led3 = 1;<</code>> <<code>><</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>><</code>> <<code>>void serial_interrupt()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> unsigned char d;<</code>> <<code>> if(serial.readable()) { // check availability<</code>> <<code>> d = serial.getc();<</code>> <<code>> if (d == 0xf9) {<</code>> <<code>> buffer[0] = d;<</code>> <<code>> i = 1;<</code>> <<code>> led1 = 1;<</code>> <<code>> } else {<</code>> <<code>> buffer[i] = d; // copy the serial input to buffer<</code>> <<code>> i++; // increment buffer value<</code>> <<code>> }<</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>>int main()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> serial.attach(&serial_interrupt(), Serial::RxIrq);<</code>> <<code>> while(true) {<</code>> <<code>> if(!memcmp(buffer, function1, 8)) {<</code>> <<code>> led4 = 1 ;<</code>> <<code>> i = 0; // doing this prevents buffer overflow, i.e. you reset i, to point to buffer[0] again.<</code>> <<code>><</code>> <<code>> if(buffer == function2);<</code>> <<code>> led3 = 1;<</code>> <<code>><</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>>void serial_interrupt()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> unsigned char d;<</code>> <<code>> if(serial.readable()) { // check availability<</code>> <<code>> d = serial.getc();<</code>> <<code>> if (d == 0xf9) {<</code>> <<code>> buffer[0] = d;<</code>> <<code>> i = 1;<</code>> <<code>> led1 = 1;<</code>> <<code>> } else {<</code>> <<code>> buffer[i] = d; // copy the serial input to buffer<</code>> <<code>> i++; // increment buffer value<</code>> <<code>> }<</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>>int main()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> serial.attach(&serial_interrupt(), Serial::RxIrq);<</code>> <<code>> while(true) {<</code>> <<code>> if(!memcmp(buffer, function1, 8)) {<</code>> <<code>> led4 = 1 ;<</code>> <<code>> i = 0; // doing this prevents buffer overflow, i.e. you reset i, to point to buffer[0] again.<</code>> <<code>><</code>> <<code>> if(buffer == function2);<</code>> <<code>> led3 = 1;<</code>> <<code>><</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>>{<</code>> <<code>><</code>> <<code>> unsigned char d;<</code>> <<code>> if(serial.readable()) { // check availability<</code>> <<code>> d = serial.getc();<</code>> <<code>> if (d == 0xf9) {<</code>> <<code>> buffer[0] = d;<</code>> <<code>> i = 1;<</code>> <<code>> led1 = 1;<</code>> <<code>> } else {<</code>> <<code>> buffer[i] = d; // copy the serial input to buffer<</code>> <<code>> i++; // increment buffer value<</code>> <<code>> }<</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>>int main()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> serial.attach(&serial_interrupt(), Serial::RxIrq);<</code>> <<code>> while(true) {<</code>> <<code>> if(!memcmp(buffer, function1, 8)) {<</code>> <<code>> led4 = 1 ;<</code>> <<code>> i = 0; // doing this prevents buffer overflow, i.e. you reset i, to point to buffer[0] again.<</code>> <<code>><</code>> <<code>> if(buffer == function2);<</code>> <<code>> led3 = 1;<</code>> <<code>><</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>><</code>> <<code>> unsigned char d;<</code>> <<code>> if(serial.readable()) { // check availability<</code>> <<code>> d = serial.getc();<</code>> <<code>> if (d == 0xf9) {<</code>> <<code>> buffer[0] = d;<</code>> <<code>> i = 1;<</code>> <<code>> led1 = 1;<</code>> <<code>> } else {<</code>> <<code>> buffer[i] = d; // copy the serial input to buffer<</code>> <<code>> i++; // increment buffer value<</code>> <<code>> }<</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>>int main()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> serial.attach(&serial_interrupt(), Serial::RxIrq);<</code>> <<code>> while(true) {<</code>> <<code>> if(!memcmp(buffer, function1, 8)) {<</code>> <<code>> led4 = 1 ;<</code>> <<code>> i = 0; // doing this prevents buffer overflow, i.e. you reset i, to point to buffer[0] again.<</code>> <<code>><</code>> <<code>> if(buffer == function2);<</code>> <<code>> led3 = 1;<</code>> <<code>><</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>> unsigned char d;<</code>> <<code>> if(serial.readable()) { // check availability<</code>> <<code>> d = serial.getc();<</code>> <<code>> if (d == 0xf9) {<</code>> <<code>> buffer[0] = d;<</code>> <<code>> i = 1;<</code>> <<code>> led1 = 1;<</code>> <<code>> } else {<</code>> <<code>> buffer[i] = d; // copy the serial input to buffer<</code>> <<code>> i++; // increment buffer value<</code>> <<code>> }<</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>>int main()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> serial.attach(&serial_interrupt(), Serial::RxIrq);<</code>> <<code>> while(true) {<</code>> <<code>> if(!memcmp(buffer, function1, 8)) {<</code>> <<code>> led4 = 1 ;<</code>> <<code>> i = 0; // doing this prevents buffer overflow, i.e. you reset i, to point to buffer[0] again.<</code>> <<code>><</code>> <<code>> if(buffer == function2);<</code>> <<code>> led3 = 1;<</code>> <<code>><</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>> if(serial.readable()) { // check availability<</code>> <<code>> d = serial.getc();<</code>> <<code>> if (d == 0xf9) {<</code>> <<code>> buffer[0] = d;<</code>> <<code>> i = 1;<</code>> <<code>> led1 = 1;<</code>> <<code>> } else {<</code>> <<code>> buffer[i] = d; // copy the serial input to buffer<</code>> <<code>> i++; // increment buffer value<</code>> <<code>> }<</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>>int main()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> serial.attach(&serial_interrupt(), Serial::RxIrq);<</code>> <<code>> while(true) {<</code>> <<code>> if(!memcmp(buffer, function1, 8)) {<</code>> <<code>> led4 = 1 ;<</code>> <<code>> i = 0; // doing this prevents buffer overflow, i.e. you reset i, to point to buffer[0] again.<</code>> <<code>><</code>> <<code>> if(buffer == function2);<</code>> <<code>> led3 = 1;<</code>> <<code>><</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>> d = serial.getc();<</code>> <<code>> if (d == 0xf9) {<</code>> <<code>> buffer[0] = d;<</code>> <<code>> i = 1;<</code>> <<code>> led1 = 1;<</code>> <<code>> } else {<</code>> <<code>> buffer[i] = d; // copy the serial input to buffer<</code>> <<code>> i++; // increment buffer value<</code>> <<code>> }<</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>>int main()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> serial.attach(&serial_interrupt(), Serial::RxIrq);<</code>> <<code>> while(true) {<</code>> <<code>> if(!memcmp(buffer, function1, 8)) {<</code>> <<code>> led4 = 1 ;<</code>> <<code>> i = 0; // doing this prevents buffer overflow, i.e. you reset i, to point to buffer[0] again.<</code>> <<code>><</code>> <<code>> if(buffer == function2);<</code>> <<code>> led3 = 1;<</code>> <<code>><</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>> if (d == 0xf9) {<</code>> <<code>> buffer[0] = d;<</code>> <<code>> i = 1;<</code>> <<code>> led1 = 1;<</code>> <<code>> } else {<</code>> <<code>> buffer[i] = d; // copy the serial input to buffer<</code>> <<code>> i++; // increment buffer value<</code>> <<code>> }<</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>>int main()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> serial.attach(&serial_interrupt(), Serial::RxIrq);<</code>> <<code>> while(true) {<</code>> <<code>> if(!memcmp(buffer, function1, 8)) {<</code>> <<code>> led4 = 1 ;<</code>> <<code>> i = 0; // doing this prevents buffer overflow, i.e. you reset i, to point to buffer[0] again.<</code>> <<code>><</code>> <<code>> if(buffer == function2);<</code>> <<code>> led3 = 1;<</code>> <<code>><</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>> buffer[0] = d;<</code>> <<code>> i = 1;<</code>> <<code>> led1 = 1;<</code>> <<code>> } else {<</code>> <<code>> buffer[i] = d; // copy the serial input to buffer<</code>> <<code>> i++; // increment buffer value<</code>> <<code>> }<</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>>int main()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> serial.attach(&serial_interrupt(), Serial::RxIrq);<</code>> <<code>> while(true) {<</code>> <<code>> if(!memcmp(buffer, function1, 8)) {<</code>> <<code>> led4 = 1 ;<</code>> <<code>> i = 0; // doing this prevents buffer overflow, i.e. you reset i, to point to buffer[0] again.<</code>> <<code>><</code>> <<code>> if(buffer == function2);<</code>> <<code>> led3 = 1;<</code>> <<code>><</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>> i = 1;<</code>> <<code>> led1 = 1;<</code>> <<code>> } else {<</code>> <<code>> buffer[i] = d; // copy the serial input to buffer<</code>> <<code>> i++; // increment buffer value<</code>> <<code>> }<</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>>int main()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> serial.attach(&serial_interrupt(), Serial::RxIrq);<</code>> <<code>> while(true) {<</code>> <<code>> if(!memcmp(buffer, function1, 8)) {<</code>> <<code>> led4 = 1 ;<</code>> <<code>> i = 0; // doing this prevents buffer overflow, i.e. you reset i, to point to buffer[0] again.<</code>> <<code>><</code>> <<code>> if(buffer == function2);<</code>> <<code>> led3 = 1;<</code>> <<code>><</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>> led1 = 1;<</code>> <<code>> } else {<</code>> <<code>> buffer[i] = d; // copy the serial input to buffer<</code>> <<code>> i++; // increment buffer value<</code>> <<code>> }<</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>>int main()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> serial.attach(&serial_interrupt(), Serial::RxIrq);<</code>> <<code>> while(true) {<</code>> <<code>> if(!memcmp(buffer, function1, 8)) {<</code>> <<code>> led4 = 1 ;<</code>> <<code>> i = 0; // doing this prevents buffer overflow, i.e. you reset i, to point to buffer[0] again.<</code>> <<code>><</code>> <<code>> if(buffer == function2);<</code>> <<code>> led3 = 1;<</code>> <<code>><</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>> } else {<</code>> <<code>> buffer[i] = d; // copy the serial input to buffer<</code>> <<code>> i++; // increment buffer value<</code>> <<code>> }<</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>>int main()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> serial.attach(&serial_interrupt(), Serial::RxIrq);<</code>> <<code>> while(true) {<</code>> <<code>> if(!memcmp(buffer, function1, 8)) {<</code>> <<code>> led4 = 1 ;<</code>> <<code>> i = 0; // doing this prevents buffer overflow, i.e. you reset i, to point to buffer[0] again.<</code>> <<code>><</code>> <<code>> if(buffer == function2);<</code>> <<code>> led3 = 1;<</code>> <<code>><</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>> buffer[i] = d; // copy the serial input to buffer<</code>> <<code>> i++; // increment buffer value<</code>> <<code>> }<</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>>int main()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> serial.attach(&serial_interrupt(), Serial::RxIrq);<</code>> <<code>> while(true) {<</code>> <<code>> if(!memcmp(buffer, function1, 8)) {<</code>> <<code>> led4 = 1 ;<</code>> <<code>> i = 0; // doing this prevents buffer overflow, i.e. you reset i, to point to buffer[0] again.<</code>> <<code>><</code>> <<code>> if(buffer == function2);<</code>> <<code>> led3 = 1;<</code>> <<code>><</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>> i++; // increment buffer value<</code>> <<code>> }<</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>>int main()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> serial.attach(&serial_interrupt(), Serial::RxIrq);<</code>> <<code>> while(true) {<</code>> <<code>> if(!memcmp(buffer, function1, 8)) {<</code>> <<code>> led4 = 1 ;<</code>> <<code>> i = 0; // doing this prevents buffer overflow, i.e. you reset i, to point to buffer[0] again.<</code>> <<code>><</code>> <<code>> if(buffer == function2);<</code>> <<code>> led3 = 1;<</code>> <<code>><</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>> }<</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>>int main()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> serial.attach(&serial_interrupt(), Serial::RxIrq);<</code>> <<code>> while(true) {<</code>> <<code>> if(!memcmp(buffer, function1, 8)) {<</code>> <<code>> led4 = 1 ;<</code>> <<code>> i = 0; // doing this prevents buffer overflow, i.e. you reset i, to point to buffer[0] again.<</code>> <<code>><</code>> <<code>> if(buffer == function2);<</code>> <<code>> led3 = 1;<</code>> <<code>><</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>>int main()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> serial.attach(&serial_interrupt(), Serial::RxIrq);<</code>> <<code>> while(true) {<</code>> <<code>> if(!memcmp(buffer, function1, 8)) {<</code>> <<code>> led4 = 1 ;<</code>> <<code>> i = 0; // doing this prevents buffer overflow, i.e. you reset i, to point to buffer[0] again.<</code>> <<code>><</code>> <<code>> if(buffer == function2);<</code>> <<code>> led3 = 1;<</code>> <<code>><</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>>}<</code>> <<code>>int main()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> serial.attach(&serial_interrupt(), Serial::RxIrq);<</code>> <<code>> while(true) {<</code>> <<code>> if(!memcmp(buffer, function1, 8)) {<</code>> <<code>> led4 = 1 ;<</code>> <<code>> i = 0; // doing this prevents buffer overflow, i.e. you reset i, to point to buffer[0] again.<</code>> <<code>><</code>> <<code>> if(buffer == function2);<</code>> <<code>> led3 = 1;<</code>> <<code>><</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>>int main()<</code>> <<code>>{<</code>> <<code>><</code>> <<code>> serial.attach(&serial_interrupt(), Serial::RxIrq);<</code>> <<code>> while(true) {<</code>> <<code>> if(!memcmp(buffer, function1, 8)) {<</code>> <<code>> led4 = 1 ;<</code>> <<code>> i = 0; // doing this prevents buffer overflow, i.e. you reset i, to point to buffer[0] again.<</code>> <<code>><</code>> <<code>> if(buffer == function2);<</code>> <<code>> led3 = 1;<</code>> <<code>><</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>>{<</code>> <<code>><</code>> <<code>> serial.attach(&serial_interrupt(), Serial::RxIrq);<</code>> <<code>> while(true) {<</code>> <<code>> if(!memcmp(buffer, function1, 8)) {<</code>> <<code>> led4 = 1 ;<</code>> <<code>> i = 0; // doing this prevents buffer overflow, i.e. you reset i, to point to buffer[0] again.<</code>> <<code>><</code>> <<code>> if(buffer == function2);<</code>> <<code>> led3 = 1;<</code>> <<code>><</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>><</code>> <<code>> serial.attach(&serial_interrupt(), Serial::RxIrq);<</code>> <<code>> while(true) {<</code>> <<code>> if(!memcmp(buffer, function1, 8)) {<</code>> <<code>> led4 = 1 ;<</code>> <<code>> i = 0; // doing this prevents buffer overflow, i.e. you reset i, to point to buffer[0] again.<</code>> <<code>><</code>> <<code>> if(buffer == function2);<</code>> <<code>> led3 = 1;<</code>> <<code>><</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>> serial.attach(&serial_interrupt(), Serial::RxIrq);<</code>> <<code>> while(true) {<</code>> <<code>> if(!memcmp(buffer, function1, 8)) {<</code>> <<code>> led4 = 1 ;<</code>> <<code>> i = 0; // doing this prevents buffer overflow, i.e. you reset i, to point to buffer[0] again.<</code>> <<code>><</code>> <<code>> if(buffer == function2);<</code>> <<code>> led3 = 1;<</code>> <<code>><</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>> while(true) {<</code>> <<code>> if(!memcmp(buffer, function1, 8)) {<</code>> <<code>> led4 = 1 ;<</code>> <<code>> i = 0; // doing this prevents buffer overflow, i.e. you reset i, to point to buffer[0] again.<</code>> <<code>><</code>> <<code>> if(buffer == function2);<</code>> <<code>> led3 = 1;<</code>> <<code>><</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>> if(!memcmp(buffer, function1, 8)) {<</code>> <<code>> led4 = 1 ;<</code>> <<code>> i = 0; // doing this prevents buffer overflow, i.e. you reset i, to point to buffer[0] again.<</code>> <<code>><</code>> <<code>> if(buffer == function2);<</code>> <<code>> led3 = 1;<</code>> <<code>><</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>> led4 = 1 ;<</code>> <<code>> i = 0; // doing this prevents buffer overflow, i.e. you reset i, to point to buffer[0] again.<</code>> <<code>><</code>> <<code>> if(buffer == function2);<</code>> <<code>> led3 = 1;<</code>> <<code>><</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>> i = 0; // doing this prevents buffer overflow, i.e. you reset i, to point to buffer[0] again.<</code>> <<code>><</code>> <<code>> if(buffer == function2);<</code>> <<code>> led3 = 1;<</code>> <<code>><</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>><</code>> <<code>> if(buffer == function2);<</code>> <<code>> led3 = 1;<</code>> <<code>><</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>> if(buffer == function2);<</code>> <<code>> led3 = 1;<</code>> <<code>><</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>> led3 = 1;<</code>> <<code>><</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>><</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>> } // And so on, you get the idea.<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>> }<</code>> <<code>>}<</code>> <<code>><</code>> <<code>>}<</code>> <<code>><</code>> <<code>><</code>>

Be the first to answer this question.