单片机
返回首页

基于GD32F310使用串口的空闲中断完成不定长数据的接收

2024-12-06 来源:elecfans

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

首先看下板子吧。

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

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

poYBAGM2iW6AAHsRAADNSwgMGd0509.png


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

poYBAGM2iZqAGEpwAAB3GUghSos588.png

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

poYBAGM2ia6APWTtAACw_KOZcno967.png

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

pYYBAGM2icKAdKP7AACXFCN4b9Y355.png

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

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

pYYBAGM2idmAZqOMAAFN5t34oFA139.png

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


进入单片机查看更多内容>>
相关视频
  • 【TI MSPM0 应用实战】智能小车+工业角度编码器+血氧仪+烟雾探测器!硬核参考设计详解!

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

  • 直播回放: Microchip Timberwolf™ 音频处理器在线研讨会

  • 基于灵动MM32W0系列MCU的指夹血氧仪控制及OTA升级应用方案分享

精选电路图
  • 1瓦线性调频增强器

  • 1瓦四级调频发射机

  • 500W MOS场效应管电源逆变器,12V转110V/220V

  • 红外开关

  • LM317过压保护

  • 0-30V/20A 大功率稳压电源(采用LM338)

    相关电子头条文章