Debug Serial para programa resetar o buffer quando houver tamanhos errados na mensagem
Dependencies: pulga-lorawan-drv PingPong-P2P-ClickButtonToWork-SX1272
main.cpp
- Committer:
- pancotinho
- Date:
- 2021-03-24
- Revision:
- 8:856f7a8cc20c
- Parent:
- 7:37dc9ce68914
- Child:
- 9:cf555a570349
File content as of revision 8:856f7a8cc20c:
#include "mbed.h" #include "serial.h" #include "lora.h" /////////////////////////////////////// // Globals variables /////////////////////////////////////// //declaracoes gerais InterruptIn dio0(P0_12); DigitalIn button1(P1_11); EventQueue queue; void serial_post_to_queue(void); void serial_rx(){ if(pc.readable()){ pc.printf("rx: %c\n", pc.getc()); } pc.attach(&serial_post_to_queue, RawSerial::RxIrq); return; } void serial_post_to_queue(void){ //disable serial rx interrupt pc.attach(NULL, RawSerial::RxIrq); //enqueue the serial rx reception as a normal task queue.call(SerialRx); //queue.event(&SerialRx); return; } int main(void) { /////////////////////////////////////// // Configuration /////////////////////////////////////// pc.printf("init\n"); pc.baud(9600); pc.printf("config9600\n"); //enable serial rx interrupt //pc.attach(&serial_post_to_queue, RawSerial::RxIrq); //____Configuration Lora Thread eventThread; eventThread.start(callback(&queue, &EventQueue::dispatch_forever)); dio0.rise(queue.event(&print_packet)); //configure interrupt rotine ro recieve packet pc.attach(&SerialRx, RawSerial::RxIrq); setup(); //configura sx1272 sx1272.writeRegister(REG_OP_MODE,133); //leitura continua sx1272.writeRegister(REG_IRQ_FLAGS_MASK,187);//configure interrupt mask to interrupt only when a packet receive and packet envied while(1){ if (!button1){ pc.printf("SENDING PING\n"); send_data(PING); } wait_ms(50); } }