你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32C542RC开发板的串口DMA发送及接收实验

[复制链接]
老牛洋车 发布时间:2026-9-28 13:39
继前天完成了STM32C542RC开发板串口通讯的printf()发送实验后,昨天接着继续进行串口DMA收发的测试。首先进行的是DMA发送的实验,照旧是抄教程的代码,核对无误后编译却出错:, U) s6 a2 n5 `! q/ y# P

& _7 v4 k4 U! H# N! V$ w  I# W7 n3 C
反复检查出错行的代码,都找不到出错的原因,只好边发帖求助,边继续尝试找原因。最后我尝试将输入的函数参数的类型删除,直接输入参数,输完之后系统竟自动显示出参数的类型,这才知道在VS Code中函数参数的类型是不能手动输入的。找到原因之后,再编译下载就很顺利了,串口调试助手正常接收到了信息:0 S8 S; ^* j$ w. a9 g3 ^/ P% ^9 @% l
9 e3 j# O' Y8 z& ~4 m* z. Z. Y
6 P% g5 y3 u; w( c, j$ Y/ B+ b
今天则进行DMA接收的测试,代码的输入和编译倒是顺利,只是因为我的电脑放在书房的角落,两侧都是窗子,背景很亮。而VS Code的背景是黑色的,很难辨认界面上的菜单及信息提示。加上界面操作不熟悉,进入了调试后竟然找不到退出的按钮了,之前在工具栏上的图标不知为何也没有了。后来只好将屏幕后面的窗子加上遮光,这才从菜单上找到相应的选项:% ^* x- v' b& h+ _& J  I0 X
UART_40.png
( g' H/ y2 B* N" e+ Q% G; c; [; m8 t. z! @- Y
最后我略微修改了代码,在上主循环里加上了LED闪烁的代码,还加在按键中断处理函数中加上了发送RX_Buffer信息的代码,当按下按键时就会发送串口接收到的信息。
+ a; @7 c) O6 @: |/ [6 ~( B- d这是照抄教程中的定义RX_Buffer的代码:
# \/ I, T% Y1 Y4 e UART_36.png
5 T. y7 T% N) }  g  i0 f
, L4 q. a/ P0 j# ~下面是照抄教程中的接收中断回调函数:! |8 E' }) y; p1 h& u/ P+ q$ l
UART_38.png + J* H& I: P  R0 n2 t+ A; ]

# Y+ v8 Q# Y* Y! b5 m* Y$ F这是串口收发的截图:& ?; C9 G5 ?' B: J: X
UART_37.png
, H  M. q# q2 u9 `) L" d) {& Y) _4 ~6 Q1 y% G2 z, Q
这是我添加的代码:  h: b  x7 [4 M6 E$ [0 i6 e6 p; C
UART_39.png
! L6 P5 q6 E. O2 ]2 T+ {! \' s# v% V7 z8 @; f; k! ?
至此,串口通讯的测试算是基本完成了。1 X% b) h' V9 `' Z

" b; Y' N+ g# R7 b+ M6 r4 m
UART_40.png
赞 收藏 评论2 发布时间:2026-9-28 13:39

举报

2个回答
CM_STM32 最优答案 回答时间:2026-9-30 13:12:55

vscode可以调窗口颜色的

老牛洋车 回答时间:2026-10-1 06:42:54

<br /> <br />

我想也是应该可以调整背景色的,还没有时间去琢磨。

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版