串口发送中断,串口接收到数据,开启发送中断,第一次可以进入中断发送数据;再接收数据,开启数据发送中断,进入不了?这个问题怎么解决
查看: 2592
回复: 3
#CH579M
热门产品 :
CH32L103: 32位PDUSB低功耗单片机
您好,看描述不太清晰,能否提供更多信息。
“开启发送中断”是指使能发送中断吗,这样的话使能的时候会触发一次发送中断(从0变1触发),再次使能是不会触发的。
使能发送中断之后,先手动向R8_UART1_THR或者说发送fifo中填充一组数据,这组数据发完后会由于“发送保持寄存器空”自动触发,进uart中断“发送缓存空”的case,在这个case中继续填充数据即可。
串口收到数据,开启中断发送,数据可以正常发送,数据发送完关闭发送中断;串口再接收到数据,开启发送中断,不可以发送数据。
您好,通过您的描述,不太好定位问题。要不您贴一段代码,或者将工程发至邮箱zhaiyw@wch.cn。
“发送中断”是在数据发送完后被动触发的,不必手动开关,初始化UART时开着就行。触发之后,在中断服务函数中往THR填充数据。要注意PRINT打印函数使用的也是UART,也会触发发送中断。
可以参考下方帖子。
请勿发布广告和违法内容, 代码可以选择编辑器代码语言格式, 更易他人阅读帮助您, 或者留下联系方式,以便更好更快服务您
只有登录才能回复,可以选择微信账号登录