新唐ML51PC0AE两个串口数据不一样。
本帖最后由 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 )
还请高手指点迷津。
这样分析不是解决问题之道,用示波器看波形,从0开始发送,一直到255,全部正确才可以,你这问题可能不是最底层的问题,应该是调用发送的问题,可能还没发完就发下一个字节了,可以每发送一个字节延时足够的时间测试 同一段程序,在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 把 p0.0 p0.1 的上拉电阻加上 zhxzhxzzhhxx 发表于 2022-2-21 02:27
把 p0.0 p0.1 的上拉电阻加上
测试程序里好像没有设置空字符输出啊,它是怎么自动加上的...
页:
[1]