找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1035|回复: 8
收起左侧

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

[复制链接]
ID:450608 发表于 2023-5-6 08:38 | 显示全部楼层 |阅读模式
为什么必须把串口1发送数据放在while循环里或者连续的中断里,串口1才会发出数据,总之就是必须连续发。这是怎么回事啊?如果在while循环之前发送几个字节,就不会发送出去。
回复

使用道具 举报

ID:213173 发表于 2023-5-6 09:37 | 显示全部楼层
只要先配置好波特率,while循环之前、while循环里或者中断里都可以发送。贴代码,否则说不清。
回复

使用道具 举报

ID:450608 发表于 2023-5-6 09:53 | 显示全部楼层
wulin 发表于 2023-5-6 09:37
只要先配置好波特率,while循环之前、while循环里或者中断里都可以发送。贴代码,否则说不清。

用官方的例程也发不出去数据,我用的是定时器2作串口1波特率发生器。
回复

使用道具 举报

ID:1034262 发表于 2023-5-6 10:34 | 显示全部楼层
只要初始化好串口,哪里发送都可以,隔多久发送都可以,只要给SBUF一个字节数据就会启动发出。
直接下载STC ISP里的范例程序的HEX文件马上就可以测试。
未命名.jpg



回复

使用道具 举报

ID:450608 发表于 2023-5-6 10:46 | 显示全部楼层
coody_sz 发表于 2023-5-6 10:34
只要初始化好串口,哪里发送都可以,隔多久发送都可以,只要给SBUF一个字节数据就会启动发出。
直接下载ST ...

以前没有发现这个问题,最近新买了一些,发现有这种问题
回复

使用道具 举报

ID:1034262 发表于 2023-5-6 16:36 | 显示全部楼层
lichaooo 发表于 2023-5-6 10:46
以前没有发现这个问题,最近新买了一些,发现有这种问题

你测试上面我说的范例了吗?
回复

使用道具 举报

ID:450608 发表于 2023-5-6 19:44 | 显示全部楼层
coody_sz 发表于 2023-5-6 16:36
你测试上面我说的范例了吗?

对,这个范例我直接复制过去的
回复

使用道具 举报

ID:1034262 发表于 2023-5-6 21:00 | 显示全部楼层
lichaooo 发表于 2023-5-6 19:44
对,这个范例我直接复制过去的

不用复制,直接下载HEX文件测试!
回复

使用道具 举报

ID:1010435 发表于 2023-5-9 15:59 | 显示全部楼层
官方例程中,如果把发送函数直接复制到while(1)里面是不能直接发送的,你可以把相关的flag全部删掉,用最简单的串口程序试验,是可以的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表