当前位置: 首页 > article >正文

蓝桥杯省赛模板构建——uart

打开CubeMX

串口的发送是跟调试器放一起的,通过PA9和PA10来接收发送

选择异步通讯

波特率配置为9600

打开串口中断,因为单片机接收数据需要用到中断

生成代码

添加底层驱动代码

打开在main.h打开uart定义

uart时钟配置,由于uart是用PCLK时钟,所以在bsp_rcc.c中需要添加PCLK时钟初始化

复制串口初始化代码并在main.c和bsp_uart.h里声明

测试:单片机发送数据给电脑,电脑用串口小助手接收数据

句柄结构体定义

编写串口处理函数Uart_Proc();并在主函数中声明

定义变量str来保存发送的数值,counter用来计数,每过一秒发送hello:counter值

搜索关键词Transmit在uart底层驱动库里查找

HAL_UART_Transmit(串口几, 发送的内容, 内容字长, 多久发送完)

打开串口小助手,配置好串口几(在设备管理器里查看)和波特率9600

测试:电脑发送数据给单片机,单片机接收数据

当电脑给单片机发送数据时,就会产生串口中断,所以要进入it.c并且调用中断回调函数

找到源码里的串口中断函数

在it.c里声明uart.h文件,这样就能使用huart1拓展变量

编写中断回调函数,回调函数一般在底层.h库里最下端

当电脑通过串口助手发送数据给单片机时,LED全亮->延时500毫秒->LED全灭

当我们发送完一次数据时发现LED灯没亮,因为滴答定时器的中断优先级低于串口的中断优先级

修改滴答定时器中断优先级为0(最高级)

main.c->HAL_Init();->TICK_INT_PRIORITY

在uart.c里修改串口中断优先级为1(低于滴答定时器)

完成串口中断接收测试

整合串口的中断与接收

当我们用电脑点击发送数据时,单片机接收数据并执行以下代码,灯由亮到灭并在串口助手输出数据


http://www.kler.cn/news/232550.html

相关文章:

  • 告别mPDF迎来TCPDF和中文打印遇到的问题
  • 【数据分享】1929-2023年全球站点的逐年平均风速(Shp\Excel\免费获取)
  • C#用Array类的FindAll方法和List<T>类的Add方法按关键词在数组中检索元素并输出
  • 【专业技术】高效并行分布式深度学习策略,助力模型训练与量化
  • 戴上HUAWEI WATCH GT 4,解锁龙年新玩法
  • 拦截器配置,FeignClient根据业务规则实现微服务动态路由
  • 什么是API
  • C#系列-数据结构+递归算法+排序算法(3)
  • 网络安全产品之认识准入控制系统
  • 力扣面试题 05.06. 整数转换(位运算)
  • Springboot 整合 Elasticsearch(三):使用RestHighLevelClient操作ES ①
  • 神经网络 | 基于 CNN 模型实现土壤湿度预测
  • re:从0开始的CSS学习之路 8. 浏览器默认样式
  • CleanMyMac2024智能算法有哪些优点和缺点?
  • Qt PCL学习(文章链接汇总)
  • C#,聚会数(相遇数,Rencontres Number)的算法与源代码
  • 火星文:网络时代下的语言
  • c实现链表
  • Ubuntu文件系统结构
  • Docker的镜像和容器的区别
  • 【力扣白嫖日记】SQL
  • 【GAMES101】Lecture 19 透镜
  • Vue3编写简单的App组件(二)
  • Linux系统安全之iptables防火墙
  • MATLAB实现LSTM时间序列预测
  • 7机器人位姿的数学描述与坐标变
  • windowsserver 2016 PostgreSQL9.6.3-2升级解决其安全漏洞问题
  • 后端的技术设计文档
  • 实例分割论文阅读之:FCN:《Fully Convolutional Networks for Semantica Segmentation》
  • impala与kudu进行集成