打印
[51单片机]

新唐ML51PC0AE两个串口数据不一样。

[复制链接]
1268|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 chineseboyzxy 于 2022-2-2 21:55 编辑

UART0,映射到P3.0/P3.1给电脑发数据,就是循环发送大写字母串ABCDEFGHIJ,串口助手接收到的每一串中间有个空字符,ABCDEFGHIJ ABCDEFGHIJ ABCDEFGHIJ;把串口映射到P0.0/P0.1这两个管脚上,电脑接收到的每一串大写字母中间却没有空字符,是连在一起的,ABCDEFGHIJABCDEFGHIJABCDEFGHIJ。非常奇怪啊,难道内部电路会自动加空字符?(41 42 43 44 45 46 47 48 49 4A 41 42 43 44 45 46 47 48 49 4A 41 42 43 44 45 46 47 48 49 4A)  (41 42 43 44 45 46 47 48 49 4A 00 41 42 43 44 45 46 47 48 49 4A 00 41 42 43 44 45 46 47 48 49 4A 00 )
还请高手指点迷津。

使用特权

评论回复
沙发
ayb_ice| | 2022-2-9 08:42 | 只看该作者
这样分析不是解决问题之道,用示波器看波形,从0开始发送,一直到255,全部正确才可以,你这问题可能不是最底层的问题,应该是调用发送的问题,可能还没发完就发下一个字节了,可以每发送一个字节延时足够的时间测试

使用特权

评论回复
板凳
chineseboyzxy|  楼主 | 2022-2-15 13:43 | 只看该作者
同一段程序,在P0.0/P0.1口输出的数据没有空字符,从P3.0/3.1口输出的就有,很奇怪。分别输出是这样,两个串口同时输出也是这样,一个有一个没有。
MAIN:
MOV SBUF,#41H
JNB TI,$
CLR TI
MOV SBUF,#42H
JNB TI,$
CLR TI
MOV SBUF,#43H
JNB TI,$
CLR TI
MOV SBUF,#44H
JNB TI,$
CLR TI
MOV SBUF,#45H
JNB TI,$
CLR TI
MOV SBUF,#46H
JNB TI,$
CLR TI
MOV SBUF,#47H
JNB TI,$
CLR TI
MOV SBUF,#48H
JNB TI,$
CLR TI
MOV SBUF,#49H
JNB TI,$
CLR TI
MOV SBUF,#4AH
JNB TI,$
CLR TI
CLR LED
CALL YS
CALL YS
SETB LED
CALL YS
CALL YS
CALL YS
CALL YS
JMP MAIN

YS:
MOV R7,#0FFH
D1:
MOV R6,#0FFH
DJNZ R6,$
DJNZ R7,D1
RET

END

使用特权

评论回复
地板
zhxzhxzzhhxx| | 2022-2-21 02:27 | 只看该作者
把 p0.0 p0.1 的上拉电阻加上

使用特权

评论回复
5
chineseboyzxy|  楼主 | 2022-2-22 10:59 | 只看该作者
zhxzhxzzhhxx 发表于 2022-2-21 02:27
把 p0.0 p0.1 的上拉电阻加上

测试程序里好像没有设置空字符输出啊,它是怎么自动加上的...

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

37

主题

623

帖子

0

粉丝