标题:哭求指点:中断实现串口异步通信--RI为何始终为0,并且接收不到数据?
取消只看楼主
quzhenning
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2005-10-4
 问题点数:0 回复次数:0 
哭求指点:中断实现串口异步通信--RI为何始终为0,并且接收不到数据?

RI为何始终为0,并且接收不到数据?recv_buf[]始终不变,借不到数??请明白人指点,我快疯了!!! //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// void serial_int() interrupt 4 using 2 // 串口中断,使用工作组2 { if(TI == 1) // 发送中断 { TI = 0; // 清发送标志位 if(count_s < __MAX_LEN_) // 数据未发送完毕 { SBUF = send_buf[count_s]; // 发送数据 count_s++; // 发送计数增1 } }

if(RI == 1) // 接受中断 { if(count_r > __MAX_LEN_) // 接收缓冲区已满,忽略已接收数据 { RI = 0; //@@@@@ return; } recv_buf[count_r] = SBUF; // 接受数据 count_r++; // 接收计数增1 RI = 0; // 清接收标志位 } }

搜索更多相关主题的帖子: 串口 异步 通信 数据 
2005-10-08 21:26



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-29607-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022378 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved