7346|10

69

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

请教F149串口连续接收字符串的问题!正在郁闷的 [复制链接]

问问各位兄弟:

我在拥F149做串口的中断连续接收,但是发现老是有丢失字符的现象,郁闷的,
这样我就无法正常接收完整的数据帧了啊。

我的程序是这样的:
接收采用中断方式,在中断处理里直接将接收到的数据写入缓冲数组,我发现如
果发送过来的数据连续超过2个字符,就接收的时候经常会有丢失,不知道为什么?

兄弟们帮我想想是什么问题啊??

谢谢了

最新回复

你用的是外部晶振吗?晶振不准确会出这些问题的.  详情 回复 发表于 2004-10-10 21:01
 
点赞 关注

回复
举报

71

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
贴出程序来看看吧
你这样谁也不会知道问题原因的
 
 

回复

16

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
接收中断处理的源代码是这样的:

#pragma vector=UART0RX_VECTOR
__interrupt void Uart0RxProcess(void)
{
_DINT();
U0TCTL&=~URXSE;
TempData[rxcount]=U0RXBUF; //TempData[256]是临时数据缓冲
_EINT();
rxcount++;
rxcount=rxcount%256;
}

我现在就是在TempData中看到的接受到的数据总是缺胳膊少腿的,
大家帮忙看看是怎么回事啊?
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

4
 
为什么要_DINT(); ?
中断在进入服务程序中是自动关闭的
这句好象也是多余的 U0TCTL&=~URXSE;
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

5
 
原来这两句也是没有的,后来只是试试加上去的,但是加不加是一样的

高手们赶紧救救我啊
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

6
 
你用的晶振频率是多少?可能低了点。
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

7
 
我在写程序时总是在收到数据后返回一个数据,发送方在没有收到这个返回数据时不发数据,这样数据肯定不会掉。
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

8
 
在单片机应用中,我觉得这是必要的,因为在各种中断运行,速度限制情况下,如果不使用更安全的通讯方式,掉数据的危险比较大。
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

9
 
你的波特率是不是很大啊,时间够用不??
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

10
 
不用中断试一下!
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

11
 
你用的是外部晶振吗?晶振不准确会出这些问题的.
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表