【解析新特性】300W单路输出工业电源>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 求助:AT89C51串口通信设置问题

共17条 1/2 1 2 跳转至

求助:AT89C51串口通信设置问题

菜鸟
2010-05-30 20:21:44    评分
我现在是利用AT89C51来进行数据的串口通信,想设置为偶校验,8位数据位,1位停止位,不知该如何让设置,关键是这个偶校验...如果别人是用偶校验=给我发数据的,而我用无校验来接受数据,这个会不会有问题呀?我用串口和单片机相连时,在串口调试助手里是用偶校验接受收据,却可以用无校验读出数据的;但是当用另外一块单片机跟我通信时,它是用偶校验来发数据的,我用无校验受不到数据,用偶校验也收不到数据,不知当中除了什么问题?请大家帮帮忙哈,谢谢啦~~~



关键词: 求助     AT89C51     串口     通信     设置     问题    

高工
2010-05-30 23:24:20    评分
2楼

仅从时序角度看,接收方是可以选择不校验的。
你确人另一块单片机的发送是OK的吗?可以用电脑串口收看看。

最推荐的方式,发送固定的数据,然后用示波器看波形,就全清楚了


专家
2010-05-31 08:40:50    评分
3楼
同意二楼的观点,首先得确定另一块单片机的发送是否正常!

菜鸟
2010-05-31 12:06:41    评分
4楼
谢谢Jason_Zhang 和halibote523的建议~~~
另一块单片机发送是正常的,首先它是一个已经做成计数仪器的,其次,我将串口直接接在该仪器和电脑上,电脑上是可以收到此仪器发出的数据的...
我这边的单片机,也已经跟电脑相连,通过串口调试助手,也已经调试通过...
所以现在很迷茫,而且老师又催的很紧,忙着弄得也比较烦,望大家再给点建议吧...
在此,跪谢各位啦~~~

高工
2010-05-31 12:12:56    评分
5楼

那就用示波器看吧,对比时序图,看看怎么回事.

发送相同的数据,如0x55等


菜鸟
2010-05-31 12:22:16    评分
6楼
接收方是可以不选择奇偶校验的。。。那就是说我即使是用无校验也可以正确收到它的数据?是不是在UART的mode设置中需要留出1位作为奇偶校验位,这样才能正确收到偶校验的数据,可以防止接收到的数据窜位...

发送方数据格式是1位起始位,偶校验,8位数据位,1位停止位
我在接收它的数据时,是否需要设置为mode3:1位起始位,1位TB8用来设定奇偶校验,8位数据位,1位停止位
而在程序中,可以不用理睬TB8这1位?

还是如果是接收数据,则要先计算接收到的数据的偶校验,然后和TB8进行比较,若相等,则说明接收正确,若不相等,则说明接收有误,丢弃该数据;发送数据的时候,计算出数据的奇偶校验位,然后放在TB8中,一起和数据发送?...

专家
2010-05-31 12:26:04    评分
7楼
那就先从硬件上面检查一下,看看Tx与Rx是否是连接正确!

菜鸟
2010-05-31 12:29:31    评分
8楼
我需要接收的数据是一组具有固定格式的数据帧,比如帧格式如下:
0D 30 31 32 33 34 35 36 37 38 39 76 65 0A 0D
第一个0D是帧起始位,当我检测到串口接收的数据为0D时,便开始接收从30到39之间共十个数据,76和65是我随便写的,它们是代表数据单位的,可以不用管它,后面的0A和0D是帧结束标志...
我不是针对某一个数据的读写问题...
我就是感觉是数据错位了,因为我用无校验收数据时,数据就混乱了...
所以我觉得是因为校验的问题,以至于我方无法正确识别0D这个数据,所以就没有接收对方发来的数据...

菜鸟
2010-05-31 12:38:54    评分
9楼
硬件电路我有检查过的,我这一块系统的硬件,因为单独调试是正确的,所以我这边应该没有问题的。计数器和电脑之间的通信我也有检查过的,计数器发送数据,电脑是可以正确接收到的。因为中间还用到了232转485模块,在接计数器时,先用485-232转换模块将计数器的485转换为了232,从中加了跳线,引出了两路串口,一路接在了我的单片机系统的串口上,一路接在了电脑的串口上,计数器发送数据,通过串口心爱你发送到我的单片机系统上,然后操作电脑上的调试助手,向串口写命令,来读取单片机接收到的计数器中的数据,画个图给你看看吧:

专家
2010-05-31 14:23:13    评分
10楼
计数器发送数据,电脑是可以正确接收到,单片机与PC机也能正常接收,但是485转232与单片机连接时应该是232出来的Tx连接到单片机的Tx。如果是连接正确的话就应该检查你的程序,没准是你的程序有问题!
你把一些具体的功能说出来看看!

共17条 1/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]