| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1973 人关注过本帖
标题:哭求指点:中断实现串口异步通信--RI为何始终为0,并且接收不到数据?
只看楼主 加入收藏
quzhenning
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2005-10-4
收藏
 问题点数:0 回复次数:3 
哭求指点:中断实现串口异步通信--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
bigbigboy
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-5-4
收藏
得分:0 
寡人不才,看不明白,不过我觉得楼主已经很高深了.
2007-06-05 11:26
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
是啊,我也看不明白,有高手懂吗?我也想学习一下啊

学习需要安静。。海盗要重新来过。。
2007-06-05 19:16
mikewolf
Rank: 1
等 级:新手上路
帖 子:175
专家分:0
注 册:2004-7-3
收藏
得分:0 
没做过这类程序!不过这个好象没有设置RI的初值啊!当然接受不到数据!应该在中断时根据接收缓冲区是否已满首先设置RI和TI的初值吧!程序给的不完整啊!
2007-06-06 00:38
快速回复:哭求指点:中断实现串口异步通信--RI为何始终为0,并且接收不到数据?
数据加载中...
 
   



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

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