6# coldra
还是不行
程序改成这样
command_buffer[]是暂存的数组 command_index为下标
ISR(USART_RXC_vect)
{
CLR(UCSRB,7); //关闭接收中断允许开关
command_buffer[command_index++]=UDR; //接收数据
if(command_index==8)
{
command_send();
command_index=0;
}
SET(UCSRB,7);//开启中断接收
}
void command_send(void)
{
uchar i;
TX_485;
for(i=0;i<8;i++)
{
UDR=command_buffer;
while(!(UCSRA&(1<<TXC)));
CLR(UCSRA,TXC);
}
RX_485;
}
|