No.62216 作者:guest 邮件:guest@guest.com ID:6 登陆:16560次 文章数:7648篇 最后登陆IP:219.68.9.43 最后登陆:2005/5/20 1:37:44 注册:2003/3/10 16:21:00 财富:35062 发帖时间:2004/9/11 9:17:33 发贴者IP:218.109.136.201 标题:guest:AVRMEGA32L接收中断处理程序里的全局变量无法返回接收值 摘要:No.62216AVRMEGA32L接收中断处理程序里的全局变量无法返回接收值 我在做AVRMAGE32L与计算机串口通信时,发现接收中断处理程序里的全局变量无法返回接收值,请大虾指点。谢谢! unsigned char preceive,rec_len,send_ok,psend; unsigned char received_ok; unsigned char receivebuf[20]; unsigned char sendbuf[20]; unsigned char send_max,i; . . . interrupt [USART_RXC] void usart_rx_isr(void) { unsigned char data; #asm("cli") if (UCSRA&(1 < <RXC)) { data=UDR; receivebuf[preceive]=data; if(receivebuf[0]==0x02) //字头 { preceive++; if(preceive==3) rec_len=receivebuf[1]; } if((preceive==rec_len) &&preceive> 3)) //接收完received_ok=1 { if(data==3) //字结束 { received_ok=1; send_ok=0; } preceive=0; rec_len=0; } ......
>>返回讨论的主题
|