通过中断驱动的uart avr接收多个字节

时间:2016-02-19 16:34:18

标签: c interrupt avr uart atmega

我试图从指纹扫描仪接收多个字节作为特定操作的响应 它是一个24字节,我用另一个atmega32微控制器发送一个数组

Identify[24] =  {0x55,0xAA,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x01};

接收微控制器我启用了中断并正确配置了USART,我写了这样的ISR代码

ISR(USART_RXC_vect){

ack[i] = UDR;
i++;

if(ack[6]==0x00)
{
    PORTA |= 0x01;
    send_uart(ack[22]);

}
if((ack[22]==0x02))
{
    PORTA |=0x02;
}

}

我把LED检查它是否有效并且它有效但问题是我不想在我的ISR中编写代码我只是希望ISR接收传入的数据并将其存储在确认中数组,然后我通过我的整个代码和任何函数内部使用ack数组

0 个答案:

没有答案