基于GD32F310使用串口的空闲中断完成不定长数据的接收-GD32串口通信注意问题

我们在单片机开发中,经常会用到串口,这时候我可以通过使用DMA,减少CPU的占用。使用串口的空闲中断可以完成不定长数据的接受。所以本次我们从基础的外设移植开始完成此款板子的体验。

首先看下板子吧。

板子整体还是GD一贯风格,还是白色板子,这次由于芯片的管脚较小,目前所以引出方式变了。把可以用的IO都引出了。

本次我们使用串口0进行测试,此测试完成后我们也可以非常方便的移植到串口1上。

基于GD32F310使用串口的空闲中断完成不定长数据的接收-GD32串口通信注意问题

我在其基础上移植了新的开发模板,主要导入我们的外设库和CMSIS库即可。例程上我使用了一个闪烁LED灯的例子。

基于GD32F310使用串口的空闲中断完成不定长数据的接收-GD32串口通信注意问题

主循环中我们就两个任务,一个是点灯,一个是完成串口接收和发送。

基于GD32F310使用串口的空闲中断完成不定长数据的接收-GD32串口通信注意问题

在串口初始话的时候需要主要下,我们使能了串口的中断后,还需要打开其串口的空闲中断,不然进不了接受中断函数中。

基于GD32F310使用串口的空闲中断完成不定长数据的接收-GD32串口通信注意问题

中断函数中我们只需要完成中断服务函数的编写,进入串口接收空闲中断后,就让其使用DMA的方式接收处理数据。

串口发送结束后也会调用函数关闭其发送。

基于GD32F310使用串口的空闲中断完成不定长数据的接收-GD32串口通信注意问题

效果就是只要我们数据在100字节以内都可以完成数据接受和发送。且长度可变。

审核编辑:刘清

免责声明:文章内容来自互联网,本站不对其真实性负责,也不承担任何法律责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:基于GD32F310使用串口的空闲中断完成不定长数据的接收-GD32串口通信注意问题 https://www.yhzz.com.cn/a/7122.html

上一篇 2023-04-17
下一篇 2023-04-17

相关推荐

联系云恒

在线留言: 我要留言
客服热线:400-600-0310
工作时间:周一至周六,08:30-17:30,节假日休息。