Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
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>>