liuzonggong 发表于 2024-8-10 17:29:29

12c5A60s2数据手册勘误

12c5A60s2数据手册第42页,发送串口数据,程序能用吗?
while(!TI);等待发送完毕,第一个字节咋发送的呢,程序会一直等在那里。
建议手册里的程序试过了再发表。

soma 发表于 2024-8-10 17:58:24

while里面为真时会一直在while内,

TI为1跳出while,TI软件置0,数据写入缓存发送。
程序本身没问题啊。

liuzonggong 发表于 2024-8-11 07:13:38

本帖最后由 liuzonggong 于 2024-8-11 07:19 编辑

wnagming 发表于 2024-8-10 19:41
程序没问题,TI是发送完成的中断标志
你原封不动的抄程序自己试试就知道了。第一个TI置位从哪里来的?

liuzonggong 发表于 2024-8-11 07:17:28

soma 发表于 2024-8-10 17:58
while里面为真时会一直在while内,当TI=1时,也就是要发送数据的时候!TI为0跳出while,TI软件置0,数据写入 ...

这是发送,第一个TI怎么变成1的?总体程序有问题,原封不动抄下来不能实现功能。如果只发一个字节直接SBUF=dat就行了。但是发超过两个字节时怎么发?

soma 发表于 2024-8-11 08:57:19

这个是发送发送一个char,发送多个char,要写一个指针,然后自增发送

DebugLab 发表于 2024-8-11 10:39:00

进中断变1

DebugLab 发表于 2024-8-11 10:40:00

串口如何发送多个字节供参考:
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=4598

QQ624353765 发表于 2024-8-11 11:42:34

TI初始化成1就行了

liuzonggong 发表于 2024-8-12 07:28:33

DebugLab 发表于 2024-8-11 10:40
串口如何发送多个字节供参考:
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=4598 ...

串口发送我当然会,我是说作为示例程序写在了手册里,初学者会抄下来研究,结果,不能发送。这是手册作者要改正的。
页: [1]
查看完整版本: 12c5A60s2数据手册勘误