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

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

[复制链接]
老牛洋车 发布时间:2026-9-28 13:39
继前天完成了STM32C542RC开发板串口通讯的printf()发送实验后,昨天接着继续进行串口DMA收发的测试。首先进行的是DMA发送的实验,照旧是抄教程的代码,核对无误后编译却出错:7 z; l; [, G" l, l$ Y: c2 S, B
3 w0 ]4 p* j9 l
, N: J9 f& [. h* I, w5 r) r% O
反复检查出错行的代码,都找不到出错的原因,只好边发帖求助,边继续尝试找原因。最后我尝试将输入的函数参数的类型删除,直接输入参数,输完之后系统竟自动显示出参数的类型,这才知道在VS Code中函数参数的类型是不能手动输入的。找到原因之后,再编译下载就很顺利了,串口调试助手正常接收到了信息:! a& A: ?0 q$ s$ K2 V. ~
: a% ^) Q& d, y) @
6 G1 C( o/ p/ M; K7 M3 E5 G
今天则进行DMA接收的测试,代码的输入和编译倒是顺利,只是因为我的电脑放在书房的角落,两侧都是窗子,背景很亮。而VS Code的背景是黑色的,很难辨认界面上的菜单及信息提示。加上界面操作不熟悉,进入了调试后竟然找不到退出的按钮了,之前在工具栏上的图标不知为何也没有了。后来只好将屏幕后面的窗子加上遮光,这才从菜单上找到相应的选项:& e+ o2 `. x: g0 R: x4 \
UART_40.png
7 E2 H$ J( |6 ?7 A4 I6 a/ g" ~) F1 R3 l) g. Z$ }
最后我略微修改了代码,在上主循环里加上了LED闪烁的代码,还加在按键中断处理函数中加上了发送RX_Buffer信息的代码,当按下按键时就会发送串口接收到的信息。3 u/ V( g4 G. Z1 u, H  u/ Q" {' _
这是照抄教程中的定义RX_Buffer的代码:# {" E0 ~" Q( ?0 w. Z
UART_36.png
2 V& G3 i* S# R
+ w3 R, R2 E3 z/ F1 d) R; b( ]; e下面是照抄教程中的接收中断回调函数:" T" q/ z, B9 E" L( ^1 S: ~
UART_38.png 2 C! l5 q9 t. C+ B$ Q
7 v( G4 \+ h  s
这是串口收发的截图:/ \0 ]& t6 m: S* i1 f
UART_37.png ; ^" J* T! b7 Q5 ]

7 @8 z8 \& P# T. |这是我添加的代码:
# {3 {# `  \0 M1 e3 r& }. z6 K. Y; ? UART_39.png , w3 f! c+ y+ X

- N( q( u) U& U, L至此,串口通讯的测试算是基本完成了。  V# \' n/ I# v" o/ `  b3 d$ ^- @
9 D/ R7 p, b. K& P7 N
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

CM_STM32 发表于 2026-9-30 13:12
vscode可以调窗口颜色的

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

所属标签

相似技术帖

官网相关资源

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