查看: 7234|回复: 22

[CodeWarrior] CW10.6下使用PEMKE02Z60VLH4使用UART0,接收“0”异常(已解决)

[复制链接]

该用户从未签到

6

主题

63

帖子

0

注册会员

Rank: 2

积分
180
最后登录
1970-1-1
发表于 2014-9-17 20:30:45 | 显示全部楼层 |阅读模式
本帖最后由 FSL_TICS_ZJJ 于 2014-9-23 13:21 编辑

    我在CW10.6下使用PE对MKE02Z60VLH4的UART0进行测试,使用PE的uart模块 AsynchroSerial与计算机串口1进行通信,波特率9600,8数据位,1停止位,无校验。    使用RecvChar()函数接收计算机发送的数据,接收除“0x00”外其余十六进制数据正常,接收“0x00”时,经常出现接收不到的情况,如果0x00后跟一个不为零的字节数据,则这两个字节也收不到。我怀疑是否AsynchroSerial将0x00当做断缺状态进行处理了,但在PE的 AsynchroSerial模块中,找不到合适的设置来改变这种情况。

请问这该如何解决?谢谢!



程序见附件,程序很简单就是接收到数据后将数据直接发回计算机
我知道答案 目前已有22人回答

control.rar

815.33 KB, 下载次数: 39, 下载积分: 威望 1

uart0在PE下无法接收0x0字节

回复

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
发表于 2014-9-18 11:14:42 | 显示全部楼层
楼主你好,你所谓的“经常出现接收不到的情况”,是每个0x00都接不到,还是有些时候能够接到呢?
回复 支持 反对

使用道具 举报

该用户从未签到

6

主题

63

帖子

0

注册会员

Rank: 2

积分
180
最后登录
1970-1-1
 楼主| 发表于 2014-9-18 12:59:07 | 显示全部楼层
基本上,发送两三个0x00,MKE02Z60VLH4才能收到一个0x00,
如果连着发送0x00,0x05,会接收到一个0xC1的数据。
请您帮助分析一下,我看了手册也没有办法解决
回复 支持 反对

使用道具 举报

该用户从未签到

6

主题

63

帖子

0

注册会员

Rank: 2

积分
180
最后登录
1970-1-1
 楼主| 发表于 2014-9-18 12:59:30 | 显示全部楼层
基本上,发送两三个0x00,MKE02Z60VLH4才能收到一个0x00,
如果连着发送0x00,0x05,会接收到一个0xC1的数据。
请您帮助分析一下,我看了手册也没有办法解决
回复 支持 反对

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
发表于 2014-9-18 17:46:19 | 显示全部楼层
楼主你好,你的问题,等我测试以后会回答你,还请耐心等待下。
回复 支持 反对

使用道具 举报

该用户从未签到

6

主题

63

帖子

0

注册会员

Rank: 2

积分
180
最后登录
1970-1-1
 楼主| 发表于 2014-9-18 23:59:52 | 显示全部楼层
hao好的,谢谢,您多辛苦了
回复 支持 反对

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
发表于 2014-9-19 10:57:16 | 显示全部楼层
楼主,看到你加了个定时器,定时中断中在翻小灯。
你把定时中断给去掉再试试。
因为如果你正好在定时中断中处理,而且没有退出,这个时候又有串口数据进来,来不及处理就会导致数据丢掉。
回复 支持 反对

使用道具 举报

该用户从未签到

6

主题

63

帖子

0

注册会员

Rank: 2

积分
180
最后登录
1970-1-1
 楼主| 发表于 2014-9-19 12:29:46 | 显示全部楼层
我试一下,但可能不是这个原因。
首先:我的串口也是中断,定时器中断处理的时间并不长,丟数概率不可能有一半多的数据收不到。
其次:我PC端用串口调试助手每100ms发送一个字节,即使定时器中断处理的时间长,串口也有时间去接收。
我下午按您说的试一下,谢谢您!
回复 支持 反对

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
发表于 2014-9-19 13:17:30 | 显示全部楼层
liangjlong 发表于 2014-9-19 12:29
我试一下,但可能不是这个原因。
首先:我的串口也是中断,定时器中断处理的时间并不长,丟数概率不可能有 ...

好的,等待你的测试结果,如果还有问题告诉我。
回复 支持 反对

使用道具 举报

该用户从未签到

6

主题

63

帖子

0

注册会员

Rank: 2

积分
180
最后登录
1970-1-1
 楼主| 发表于 2014-9-20 10:10:29 | 显示全部楼层
关闭定时器,(主程序中   TI1_Disable();)小灯不再闪烁,但发送0x00依旧不能每次都接收到。而发送其他二进制字节都可以收到
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-24 07:10 , Processed in 0.111211 second(s), 30 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表