智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1475|回复: 2
打印 上一主题 下一主题

串口发送很奇怪的一个问题!

[复制链接]

7

主题

58

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1436
威望
713
贡献
343
兑换币
246
注册时间
2011-10-9
在线时间
190 小时
跳转到指定楼层
1#
发表于 2012-10-4 23:05:03 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
我向串口发送一副图片的数据,串口调试助手正常接收。而当我在发送图片之前发送一个字符c=0x01,再发送整副图片,这时串口调试助手接收不到任何数据。当改c=0xff时,可以正常接收。这时为什么??

7

主题

58

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1436
威望
713
贡献
343
兑换币
246
注册时间
2011-10-9
在线时间
190 小时
3#
 楼主| 发表于 2012-10-5 00:09:58 | 只看该作者
gy810986741 发表于 2012-10-4 23:36
串口调试助手在接收数据之前会先接收一位或两位相当于识别码的校验位,改一下设置就好了

之前我是先发送一个0x01,然后中间会有一些判断语句,再发送整副图片,然后再发送0x01。这样的话串口就不能接受任何数据了。
而我现在是这么把问题解决的,先执行一些判断语句,再发0x01,然后紧接着发送整副图片,然后紧接着发送0x01。这样串口就能正常接收数据了。。我不知道为什么会出现这种情况。

还问一个问题,在codewarrior环境下编写的主函数有一个处理函数,void fun(),在主函数中我是这么写的:

void main()
{
    for(;;)
    {
          fun();
    }
}
外面还有一些其他的中断。
但是我在线调试发现,程序在运行过程中只进入了执行了一次函数fun()。这是为什么?应该怎么改?谢谢你了!
回复 支持 反对

使用道具 举报

31

主题

619

帖子

0

精华

跨届大侠

大神经常病

Rank: 10Rank: 10Rank: 10

积分
8900

论坛元老奖章在线王奖章活跃会员奖章优秀会员奖章

威望
4214
贡献
2736
兑换币
2252
注册时间
2012-2-15
在线时间
975 小时
2#
发表于 2012-10-4 23:36:21 | 只看该作者
串口调试助手在接收数据之前会先接收一位或两位相当于识别码的校验位,改一下设置就好了
回复 支持 反对

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2025-1-11 06:51 , Processed in 0.072717 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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