如何在Arduino nano中通过寄存器和中断接收字符串?

时间:2019-05-05 02:49:48

标签: arduino serial-port interruption

我正在使用arduino nano,蓝牙模块(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
}

我希望先收到一个字符串,然后再做些事情

0 个答案:

没有答案