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

STM32F051C8T6 STM32CubeMX ADC-DMA-UART教程  

[复制链接]
Paderboy 发布时间:2015-5-23 12:23
本帖最后由 Paderboy 于 2015-5-25 13:31 编辑 : b4 O7 N: f; [" `1 Y
2 L) V+ Y. P# X% x
STM32CubeMX 非常火爆, 因为STM32CubeMX图形化对象编程简化了端口和时钟的设置,简化了繁琐提高整体编程效率。这个转变确实方便很多。。对于我这个新手来说,方便了不少。。。。(大神们,可以跳过这个教程。)# u$ H8 }# i. H. E7 W9 C* Q

" W! t; G) z" R' R4 E! ?! n1。首先是,对时钟的设置,我的STM32F051C8T6 有外置的晶振8MHz 就使用了外部了。。(原因就不多说了)
( Y, r. v0 T- F3 q3 u$ f! {
( K3 b' y6 Q; L! i2。 还有在工程设置输出里,把设置生成xxx.c 和 xxx.H 的选项打勾,这样生成的工程文件就包含 各个引脚和功能的详细配置,方便查看。。
' h; p- e/ M( R! o2 r
, X1 U# ~; z5 \0 ?% Y: W3。主要ADC的时钟配置:F051 的最大系统时钟是48MHz 但是ADC的时钟最大不能超过14Mhz 所以
  c, V# ^0 H0 F" M3 p) k" C      hadc.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV4; 用是4分频/48=12Mhz9 ?) Y3 [0 Z  M# o) H9 {2 c
      先定义一个接收转换需要的32位变量存储DMA 转换的结果 uint32_t uhADCxConvertedValue[X]; X 是你开通的通道数量* j) {" c. |/ r3 c: J
      以下是要注意的地方。* A+ S. t" \; _5 S7 k
      hadc.Init.ContinuousConvMode = ENABLE;
) Y1 x% @5 l+ ]8 J# g      hadc.Init.DMAContinuousRequests = ENABLE;+ _$ I; ?& L$ r: v3 E  @7 `
      还有就是开启DMA hdma_adc.Init.Mode = DMA_CIRCULAR; 开启就可以连续工作。。
- ]3 w; R# K7 U+ @- R3 ?3 L      这2个也同时开启,这样 就可以运用HAL_ADC_Start_DMA(&hadc, (uint32_t*)&uhADCxConvertedValue, X); 是你开通的通道数量
+ u# Q' J8 G3 G* s2 h: M! }4 p      0 k# E4 h6 v9 x' Z& `4 }
      别的就不多说了。。附件里有工程源文件。。  s* @: j& x; t0 W, d
6 F7 N. ~5 ~7 v' g. {# ]
]31}_7U}2DRLK315SHQA$FO.png
_PQ3XP`R(2SDR0ZB0`6U2F4.png
0ID0AFR[LZV$EYTSM549ZKV.png
7@0{T[~DC`O1KU13GHIARRI.png
C52IBROVEUC)_6KKQE_1@HX.png
CNBIJ4Ak)Y]C0H2AO4(22.png
GOSO{(M7~_IA4)Y`97X~O55.png
JII[N4%(}U1T~UL~Y6YVF4Y.png
N6WW]UFEUUP3QZCQIJIY22T.png
N{2YWR]{MI}D1~V0(8EMCT9.png

adc-dma-noch.rar

下载

6.35 MB, 下载次数: 1995

赞 收藏 8 评论17 发布时间:2015-5-23 12:23

举报

17个回答
luscu 回答时间:2016-1-20 15:39:55
谢谢楼主发表的学习心得,我的板是072,根据评估应该是可以按照你的方法一样的设置。但是我发现了一个现象: 串口发出来的数据不正确,发出来的5个电压值,都是最后那个通道电压,并不是5个不同的电压值(因为我5个端口的电压是不一样的);是否是那里没设置好或者错了?    貌似楼主的5个电压值也是一样的电压值,
Paderboy 回答时间:2015-5-24 09:26:35
夏明smile 发表于 2015-5-24 09:13
# f# t; a- i5 m7 m" g" U图形化编程

9 K) N6 Y9 i. s1 x; O2 D多玩,就会了。。。大家一起学习
dark_ness 回答时间:2018-5-10 00:54:08
参考您的代码后,我自己的代码也跑起来了。
' Z0 w( j: r1 ]感谢分享。。
( V- t( y3 q# X# O" k, |9 A( L
zhangdaijin 回答时间:2015-5-23 23:13:47
谢谢分享
你好我好大家好! 回答时间:2015-5-24 00:17:58
挺好用的一款软件
夏明smile 回答时间:2015-5-24 09:13:08
图形化编程
快乐小马达 回答时间:2015-5-29 17:04:13
记号,才开始学习STM32
Sean 回答时间:2015-5-29 20:52:39
谢谢分享,mark
luscu 回答时间:2016-1-20 15:43:46
有人可以帮助一下我吗?
Paderboy 回答时间:2016-1-20 17:32:49
能看下你的设置吗?最好能把,代码一起发上来看看
stevenli 回答时间:2018-3-24 20:38:49
good example, thanks
pusiyu-167815 回答时间:2018-4-7 13:58:26
谢谢
* p+ e! {' B& }+ b  l* j2 y
9 u3 c  J8 v3 f. c+ f
Luke-422569 回答时间:2018-5-23 16:53:05
thanks
Luke-422569 回答时间:2018-5-23 17:08:28
thanks
12下一页

所属标签

相似技术帖

官网相关资源

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