Как получить строку в Arduino nano с регистрами и прерываниями? - PullRequest
0 голосов
/ 05 мая 2019

Я работаю с Arduino Nano, модулем Bluetooth (AT-09) и со сканером BLE (мобильное приложение) для отправки данных на Arduino, и я использую регистры микроконтроллера для использования последовательного прерывания. Теперь я могу получить только один символ, но я хочу получить целую строку. Как я могу это сделать? Мой код:

#include <avr/interrupt.h> 
#include <avr/io.h>
char temp;
void setup(){
    pinMode(13, OUTPUT);  // configuring pin 13 as output
    BRR0 = 103; // for configuring baud rate of 9600bps
    UCSR0C |= (1 << UCSZ01) | (1 << UCSZ00); 
    // Use 8-bit character sizes 
    UCSR0B |= (1 << RXEN0) | (1 << TXEN0) | (1 << RXCIE0);  
    // Turn on the transmission, reception, and Receive interrupt      
    sei();// enable global interrupt
}

void loop(){
   switch(temp){
   case '0':
   digitalWrite(13,LOW);
   break;

   case '1':
   digitalWrite(13,HIGH);
   break;
   }
}

ISR(USART_RX_vect){  
    temp=UDR0;// read the received data byte in temp
}

Я ожидаю получить строку, а затем что-то сделать

...