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

STM32F051C8T6 STM32CubeMX ADC-DMA-UART教程  

[复制链接]
Paderboy 发布时间:2015-5-23 12:23
本帖最后由 Paderboy 于 2015-5-25 13:31 编辑 # f& P. p. h  v  a9 `- H

' ?/ L; k# ~, d; {+ ASTM32CubeMX 非常火爆, 因为STM32CubeMX图形化对象编程简化了端口和时钟的设置,简化了繁琐提高整体编程效率。这个转变确实方便很多。。对于我这个新手来说,方便了不少。。。。(大神们,可以跳过这个教程。); P) v7 k3 W! m9 C, r6 N
% t1 x6 i4 P3 n& ?, }, E
1。首先是,对时钟的设置,我的STM32F051C8T6 有外置的晶振8MHz 就使用了外部了。。(原因就不多说了)
  S* \( [2 L/ i, P# b- a
* e% _7 b$ x6 G9 K2。 还有在工程设置输出里,把设置生成xxx.c 和 xxx.H 的选项打勾,这样生成的工程文件就包含 各个引脚和功能的详细配置,方便查看。。
% B" |; I' |( ~6 ~) {; m
& a7 S9 h' N% d2 |" q% ?3。主要ADC的时钟配置:F051 的最大系统时钟是48MHz 但是ADC的时钟最大不能超过14Mhz 所以7 T" ^. l  C8 B& p
      hadc.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV4; 用是4分频/48=12Mhz
& k* @5 L+ ~' C1 I/ A* j: p; a% T      先定义一个接收转换需要的32位变量存储DMA 转换的结果 uint32_t uhADCxConvertedValue[X]; X 是你开通的通道数量" m3 E, S' Q! R1 Q6 l- T1 g+ \. ?
      以下是要注意的地方。
/ m5 p. }! ~; R; P      hadc.Init.ContinuousConvMode = ENABLE;" K, g5 \3 l+ r2 U* i0 f
      hadc.Init.DMAContinuousRequests = ENABLE;+ g, G4 Q  Q9 T3 M5 L( T
      还有就是开启DMA hdma_adc.Init.Mode = DMA_CIRCULAR; 开启就可以连续工作。。/ C' v+ s7 C. g, b1 ~8 ]& x
      这2个也同时开启,这样 就可以运用HAL_ADC_Start_DMA(&hadc, (uint32_t*)&uhADCxConvertedValue, X); 是你开通的通道数量# I/ e# j4 P8 J. Z" y
      
$ ]" ?5 p1 ]- c/ E! \8 H8 b      别的就不多说了。。附件里有工程源文件。。( ?, x( v+ n% N) G
% I, m* N& D6 q: h
]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  s8 }1 K0 Q: W6 x3 V
图形化编程

" y* ^8 G4 O5 o1 n) o' S' |多玩,就会了。。。大家一起学习
dark_ness 回答时间:2018-5-10 00:54:08
参考您的代码后,我自己的代码也跑起来了。
9 i1 I2 i) I7 F8 k2 E5 K( F感谢分享。。  J1 {8 @! w, M% _1 ^( I& r6 N
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
谢谢
4 b/ g8 _% K4 l! V2 [" v& q4 T  z+ G" h2 J+ c. x/ [' U* X
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 手机版