共2条
1/1 1 跳转至页
单片机串口通讯问题,求救高手
问
我产品用8052单片机在串口通讯上,波特率为9600,采用通讯方式1,一位起始位,8位数据位,一位停止位。产品对产品的通讯数据正确(仿真器上看)。但是在和计算机通讯时,通过232转485接口,用两根线接到我开发的产品上,数据有规律的出错,而且用了多个串口调试工具都出现同样的错误数据,开始怀疑是232转485不行,换了几个232转485结果都一样。出现错误的规律是底4位全正确,高四位不对,比如我发10H,电脑串口调试工具接收到30H.
以下是错误规律(低位0随便换都正确)
发送 接收
10H 30H
20H 40H
30H 70H
40H 80H
50H B0H
60H C0H
70H F0H
80H 00H
90H 30H
A0H 40H
B0H 70H
C0H 80H
D0H B0H
E0H C0H
F0H F0H
00H 00H
请高手帮助! 答 1: 波特率不匹配吧? 答 2: 程序上是9600程序上是9600,电脑上串口调试也用的9600呀,我改用其它的波特率接收数据错得更厉害,郁闷呀。 答 3: 奇偶校验设置不对? 答 4: 我设置都是无奇偶效验请问楼上大哥要怎么设置? 答 5: 你设置的对吗(f0 = 11.0592 MHz ):TH1 = 0FDH ; /* Timer1 = 9600 bit/S */
TL1 = 0FDH ; /* Timer1 = 9600bit */
不是其他原因。 答 6: 晶振多少???? 答 7: 找个示波器看一下波形就真相大白了 答 8: TO:楼上晶振是11.0592,
PCON=80H
SCON=50H
TH1 = 0FDH
TL1 = 0FDH
都对呀,没有示波器,看不了。 答 9: A、B线有没有搞反?从数据来看并不能确认你说的“低四位都正确”。
你发“55h,0aah”之类的试试? 答 10: to:楼上发55H收的是B5H,发0aaH收的是4aH.A,B线我没有接反,我正反都试过。 答 11: 波特率错了根据你PCON的设置,波特率应用以下公式计算:
BAU-RATE = (11.0592MHz/12)/(256-TH1)/16
TH=FA,TL=FA
如果PCON设为00,则TH=FD,TL=FD 答 12: to:楼上我写错了,
晶振是11.0592,
PCON=80H
SCON=50H
TH1 = 0FAH
TL1 = 0FAH
是这样设置的 答 13: 程序有问题接收bit7,bit6,bit5,bit4=发送bit6,bit5,bit4,bit4 答 14: 嘿嘿检查一下你的485芯片和电路 答 15: 我在用ARM时出现过这种问题,模式不对,但不知道你是不是这原因 答 16: PC的设置对吗?用的哪个调试软件? 答 17: to:阿南可以说清楚点吗?或者留个QQ号我想请教一下。PC设置应该没有问题,调试软件都是在网上下载的,换过好多了。 答 18: 波特率有轻微的差异。常见错误。试着更换一下波特率发生器的时钟。 答 19: 我认为是软件的问题.你的扳子上有显示吗?试试自己的两块板子之间的通信.再说.
我认为是软件的问题.
以下是错误规律(低位0随便换都正确)
发送 接收
10H 30H
20H 40H
30H 70H
40H 80H
50H B0H
60H C0H
70H F0H
80H 00H
90H 30H
A0H 40H
B0H 70H
C0H 80H
D0H B0H
E0H C0H
F0H F0H
00H 00H
请高手帮助! 答 1: 波特率不匹配吧? 答 2: 程序上是9600程序上是9600,电脑上串口调试也用的9600呀,我改用其它的波特率接收数据错得更厉害,郁闷呀。 答 3: 奇偶校验设置不对? 答 4: 我设置都是无奇偶效验请问楼上大哥要怎么设置? 答 5: 你设置的对吗(f0 = 11.0592 MHz ):TH1 = 0FDH ; /* Timer1 = 9600 bit/S */
TL1 = 0FDH ; /* Timer1 = 9600bit */
不是其他原因。 答 6: 晶振多少???? 答 7: 找个示波器看一下波形就真相大白了 答 8: TO:楼上晶振是11.0592,
PCON=80H
SCON=50H
TH1 = 0FDH
TL1 = 0FDH
都对呀,没有示波器,看不了。 答 9: A、B线有没有搞反?从数据来看并不能确认你说的“低四位都正确”。
你发“55h,0aah”之类的试试? 答 10: to:楼上发55H收的是B5H,发0aaH收的是4aH.A,B线我没有接反,我正反都试过。 答 11: 波特率错了根据你PCON的设置,波特率应用以下公式计算:
BAU-RATE = (11.0592MHz/12)/(256-TH1)/16
TH=FA,TL=FA
如果PCON设为00,则TH=FD,TL=FD 答 12: to:楼上我写错了,
晶振是11.0592,
PCON=80H
SCON=50H
TH1 = 0FAH
TL1 = 0FAH
是这样设置的 答 13: 程序有问题接收bit7,bit6,bit5,bit4=发送bit6,bit5,bit4,bit4 答 14: 嘿嘿检查一下你的485芯片和电路 答 15: 我在用ARM时出现过这种问题,模式不对,但不知道你是不是这原因 答 16: PC的设置对吗?用的哪个调试软件? 答 17: to:阿南可以说清楚点吗?或者留个QQ号我想请教一下。PC设置应该没有问题,调试软件都是在网上下载的,换过好多了。 答 18: 波特率有轻微的差异。常见错误。试着更换一下波特率发生器的时钟。 答 19: 我认为是软件的问题.你的扳子上有显示吗?试试自己的两块板子之间的通信.再说.
我认为是软件的问题.
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
与电子爱好者谈读图四被打赏50分 | |
与电子爱好者谈读图二被打赏50分 | |
【FRDM-MCXN947评测】Core1适配运行FreeRtos被打赏50分 | |
【FRDM-MCXN947评测】双核调试被打赏50分 | |
【CPKCORRA8D1B评测】---移植CoreMark被打赏50分 | |
【CPKCORRA8D1B评测】---打开硬件定时器被打赏50分 | |
【FRDM-MCXA156评测】4、CAN loopback模式测试被打赏50分 | |
【CPKcorRA8D1评测】--搭建初始环境被打赏50分 | |
【FRDM-MCXA156评测】3、使用FlexIO模拟UART被打赏50分 | |
【FRDM-MCXA156评测】2、rt-thread MCXA156 BSP制作被打赏50分 |