pic单片机与pc机通讯问题

[复制链接]
2654|8
 楼主| lijuanzhao123 发表于 2013-3-18 09:37 | 显示全部楼层 |阅读模式
单片机跟上位机做通讯 用RS485做 单片机给上位机单独发数据或者单独收数据时候完全没有问题,但是一旦先发送再接受时最后发送的那几个数就总出错,不知道问题出在哪 ???

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| lijuanzhao123 发表于 2013-3-18 09:38 | 显示全部楼层
程序中kz就是控制u2ctx,通过置kz为0或者1来控制485是处于发送还是接受状态,在kz由1变0的瞬间,最后传到上位机的那几个数都是错的,不知道我编程是不是除了什么问题
 楼主| lijuanzhao123 发表于 2013-3-18 12:26 | 显示全部楼层
怎么没人回复啊 各位高手帮帮忙
yewuyi 发表于 2013-3-18 15:46 | 显示全部楼层
检查自己的收发缓冲寄存器和数据包数组是否在收发时出现冲掉数据现象
lyh830612 发表于 2013-3-18 16:33 | 显示全部楼层
485是半双工的吧,所以有一方应该占据主动,整个通讯的控制权都在某一方手里,让另一方发送另一边才能发送。两头都主动,肯定错啊。
 楼主| lijuanzhao123 发表于 2013-3-18 17:49 | 显示全部楼层
只从单片机给上位机发数据的话,是没有问题的 收的数据全部正确,半双工也是能两边通讯啊,单片机发完之后就把状态置为接受,理论上是没有错的吧
 楼主| lijuanzhao123 发表于 2013-3-18 17:54 | 显示全部楼层
我想说的就是前边put_DI   put_DO都没问题,就是最后put—end那发送的数据就不对了 ,所以我推断是k=0这个指令影响到发送了,我以为是没发送完就置成接受了,就在发完后加了一个延时,但是发现最后发的那几个字节的数还是错的,而且我明明发了4个字节,结果就收到两个字节,这两个字节还是错的,郁闷啊 找不到问题出在哪了
 楼主| lijuanzhao123 发表于 2013-3-19 20:55 | 显示全部楼层
我发送完成后加的延时时间不够 结贴了 哈哈
hzpxxxyyy 发表于 2013-4-5 00:13 | 显示全部楼层
做一个标记,正好在用这个。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

11

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部