amobbs.com 阿莫电子论坛

 找回密码
 注册
搜索
bottom↓
回复: 4

STC12C5A16S2串口通信,串口2丢失首字节

[复制链接]
(172512897)

打赏出0元收入0元

发表于 2015-1-18 14:51:11 | 显示全部楼层 |阅读模式
一个下位机,用的MCU是STC12C5A16S2,串口1用来读取传感器的数值,串口2向上位机发送数据;上位机发送询问命令,串口2才会向上发送数据,通信用的是485,奇校验,有个奇怪现象:板子上电后,上位机第1次询问,下位机应该回复12个字节,但是总是丢失第1个字节,回复11个字节。接下来上位机询问,下位机传的都正确。只是断电,上电后,首字节老是丢失,有碰到这种情况的吗?
发送的数据放在一个数组里,txdata[12],如果换成无校验,上电后首字节不会丢失,同一个硬件;如果校验写错了,其它数据应该也是错的呀,或者收到不到。
有遇到这种情况的吗?谢谢。
(171835862)

打赏出0元收入0元

发表于 2015-1-26 10:55:06 | 显示全部楼层
下位机接收到数据以后,延迟一下再发送吧。也许485没有转换过来呢
(171835609)

打赏出0元收入0元

发表于 2015-1-26 10:59:19 | 显示全部楼层
这个串口并非是原生串口,是模拟出来的,不稳定,好像有批量问题规律,曾经接触过,有一批芯片基本全换。
(171829906)

打赏出0元收入0元

发表于 2015-1-26 12:34:22 | 显示全部楼层
STC12C5A16S2两个串口都是硬件串口,怎么有人说是模拟的呢?

LZ可以使用STC官网上的双串口例程测试,这种情况多是因为应用的问题。

http://www.stcmcu.com/STC12C5Axx-code.rar
(171824415)

打赏出0元收入0元

 楼主| 发表于 2015-1-26 14:05:53 | 显示全部楼层
小李非刀 发表于 2015-1-26 12:34
STC12C5A16S2两个串口都是硬件串口,怎么有人说是模拟的呢?

LZ可以使用STC官网上的双串口例程测试,这种 ...

需发送个空字符,不往发送区写字符,然后while...发送完毕。
算是先清空发送缓冲区吧。
回帖提示: 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子论坛 ( 公安交互式论坛备案:44190002001997 粤ICP备09047143号-1 )

GMT+8, 2020-7-7 07:06

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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