继前天完成了STM32C542RC开发板串口通讯的printf()发送实验后,昨天接着继续进行串口DMA收发的测试。首先进行的是DMA发送的实验,照旧是抄教程的代码,核对无误后编译却出错:![]() 2 @' t( Q, @! {6 n 反复检查出错行的代码,都找不到出错的原因,只好边发帖求助,边继续尝试找原因。最后我尝试将输入的函数参数的类型删除,直接输入参数,输完之后系统竟自动显示出参数的类型,这才知道在VS Code中函数参数的类型是不能手动输入的。找到原因之后,再编译下载就很顺利了,串口调试助手正常接收到了信息: ![]() 今天则进行DMA接收的测试,代码的输入和编译倒是顺利,只是因为我的电脑放在书房的角落,两侧都是窗子,背景很亮。而VS Code的背景是黑色的,很难辨认界面上的菜单及信息提示。加上界面操作不熟悉,进入了调试后竟然找不到退出的按钮了,之前在工具栏上的图标不知为何也没有了。后来只好将屏幕后面的窗子加上遮光,这才从菜单上找到相应的选项:6 }7 R. @$ r3 L
最后我略微修改了代码,在上主循环里加上了LED闪烁的代码,还加在按键中断处理函数中加上了发送RX_Buffer信息的代码,当按下按键时就会发送串口接收到的信息。 这是照抄教程中的定义RX_Buffer的代码:
: u( ` k4 e; o9 j1 h- l1 Z 下面是照抄教程中的接收中断回调函数:
这是串口收发的截图:1 R6 K4 J( Z0 ]! @5 `2 F% {1 T
这是我添加的代码:* v! c; j2 |8 C( u& O9 n
% G+ r: [' n/ X+ v, R. p 至此,串口通讯的测试算是基本完成了。9 l0 Z1 b9 y" ?- i1 v |
终于完成了STM32C542RC开发板的串口发送实验
STM32C5
【STM32C5开发板评测】- 简易低功耗实验:芯片休眠、唤醒功能简单测试演示
【STM32C5开发板评测】- 定时器中断实验:通过定时器实现IO翻转输出
【STM32C5开发板评测】- 串口通信实验:串口信息打印、数据收发功能演示
【STM32C5开发板评测】- IO基础实验:LED循环闪烁功能 + 按键输入检测实验
STM32C542RC开发板的按键控制LED闪烁实验
《STM32CubeMX2 实战课程》学习笔记--课程1:STM32CubeMX2安装
《STM32CubeMX2 实战课程》学习笔记1+由MX2生成MDK5项目并打开
《STM32CubeMX2 实战课程》学习笔记3.+sleep/stop/standby低功耗模式的入口
微信公众号
手机版