标题: STC8H1K08单片机串口通信问题 为什么必须把串口1发送数据放在while循环里或者连续... [打印本页]

作者: lichaooo    时间: 2023-5-6 08:38
标题: STC8H1K08单片机串口通信问题 为什么必须把串口1发送数据放在while循环里或者连续...
为什么必须把串口1发送数据放在while循环里或者连续的中断里,串口1才会发出数据,总之就是必须连续发。这是怎么回事啊?如果在while循环之前发送几个字节,就不会发送出去。

作者: wulin    时间: 2023-5-6 09:37
只要先配置好波特率,while循环之前、while循环里或者中断里都可以发送。贴代码,否则说不清。
作者: lichaooo    时间: 2023-5-6 09:53
wulin 发表于 2023-5-6 09:37
只要先配置好波特率,while循环之前、while循环里或者中断里都可以发送。贴代码,否则说不清。

用官方的例程也发不出去数据,我用的是定时器2作串口1波特率发生器。
作者: coody_sz    时间: 2023-5-6 10:34
只要初始化好串口,哪里发送都可以,隔多久发送都可以,只要给SBUF一个字节数据就会启动发出。
直接下载STC ISP里的范例程序的HEX文件马上就可以测试。





作者: lichaooo    时间: 2023-5-6 10:46
coody_sz 发表于 2023-5-6 10:34
只要初始化好串口,哪里发送都可以,隔多久发送都可以,只要给SBUF一个字节数据就会启动发出。
直接下载ST ...

以前没有发现这个问题,最近新买了一些,发现有这种问题
作者: coody_sz    时间: 2023-5-6 16:36
lichaooo 发表于 2023-5-6 10:46
以前没有发现这个问题,最近新买了一些,发现有这种问题

你测试上面我说的范例了吗?
作者: lichaooo    时间: 2023-5-6 19:44
coody_sz 发表于 2023-5-6 16:36
你测试上面我说的范例了吗?

对,这个范例我直接复制过去的
作者: coody_sz    时间: 2023-5-6 21:00
lichaooo 发表于 2023-5-6 19:44
对,这个范例我直接复制过去的

不用复制,直接下载HEX文件测试!
作者: mtt661    时间: 2023-5-9 15:59
官方例程中,如果把发送函数直接复制到while(1)里面是不能直接发送的,你可以把相关的flag全部删掉,用最简单的串口程序试验,是可以的。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1