我们在单片机开发中,经常会用到串口,这时候我可以通过使用DMA,减少CPU的占用。使用串口的空闲中断可以完成不定长数据的接受。所以本次我们从基础的外设移植开始完成此款板子的体验。
首先看下板子吧。
板子整体还是GD一贯风格,还是白色板子,这次由于芯片的管脚较小,目前所以引出方式变了。把可以用的IO都引出了。
本次我们使用串口0进行测试,此测试完成后我们也可以非常方便的移植到串口1上。
我在其基础上移植了新的开发模板,主要导入我们的外设库和CMSIS库即可。例程上我使用了一个闪烁LED灯的例子。
主循环中我们就两个任务,一个是点灯,一个是完成串口接收和发送。
在串口初始话的时候需要主要下,我们使能了串口的中断后,还需要打开其串口的空闲中断,不然进不了接受中断函数中。
中断函数中我们只需要完成中断服务函数的编写,进入串口接收空闲中断后,就让其使用DMA的方式接收处理数据。
串口发送结束后也会调用函数关闭其发送。
效果就是只要我们数据在100字节以内都可以完成数据接受和发送。且长度可变。
审核编辑:刘清
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
单片机
+关注
关注
5998文章
43963浏览量
620694 -
led灯
+关注
关注
22文章
1551浏览量
107023 -
中断
+关注
关注
5文章
884浏览量
41020 -
串口
+关注
关注
14文章
1483浏览量
74494
发布评论请先 登录
相关推荐
不定长数据接收的原理IDLE空闲中断介绍
1_V1.8.0(STM32Cube MCU Package for STM32F1xx Series)本文内容:不定长数据接收的原理IDLE空闲
发表于 08-16 07:42
基于DMA接收利用空闲模式接收不定长数据
STM32L051 HAL库非DMA模式使用空闲中断接收不定长数据因项目中的上位机与单片机之间的通信协议采用非标准协议,上位机发送的
发表于 01-12 07:44
STM32+串口空闲中断实现不定长数据接收
常见的数据帧断帧方式有两种,一种是通过固定的协议格式断帧,另外一个是通过两帧数据的时间断帧,下面介绍最后一种,利用STM32F1的串口空闲中断
发表于 12-20 19:34
•7次下载
STM32+串口空闲中断实现不定长数据接收
常见的数据帧断帧方式有两种,一种是通过固定的协议格式断帧,另外一个是通过两帧数据的时间断帧,下面介绍最后一种,利用STM32F1的串口空闲中断
发表于 12-24 18:46
•10次下载
评论