STMCU小助手
发布时间:2022-8-16 23:49
|
概述 本章STM32CUBEMX配置STM32F103,并且在GD32F303中进行开发,同时通过GD32303C_START开发板内进行验证。 需要GD样片的可以加Q_QUN申请:6_15061293。 本章主要配置,双ADC轮询模式扫描多个通道,通过串口进行打印。2 Q6 y% L. k- n+ ~. X+ r 查阅手册可以得知,PA9、PA10为串口0的输出和输入口。
+ c0 X- I9 O! a+ S 6 ?+ y1 D" \% ? 生成例程# R+ O3 _% }, F 这里准备了GD32303C_START开发板进行验证。/ |& B9 c' o5 R% y% c: n" N
STM32CUBEMX配置1 t, ^* k* L2 s. i" o
勾选中断。& B) t5 F' T9 [5 H, W9 g , C! ^ w7 z4 D2 O- o6 a6 j9 T
ADC1配置。$ ^5 Q) z' S+ a1 G4 K
. e* l6 G* u# d; ~9 g ADCs_Common_Settings:/ J" w+ o% R% k( b( @3 P+ y' h Mode:Independent mod 独立 ADC 模式,当使用一个 ADC 时是独立模式,使用两个 ADC 时是双模式,在双模式下还有很多细分模式可选,具体配置 ADC_CR1 UALMOD 位。" }8 \1 D2 `+ F; h! B! B1 T9 f/ o" B' W8 \: P0 n ADC_Settings:% y6 ~ l% n5 ~8 v& K Data Alignment:9 |; N4 z Q& } Right alignment 转换结果数据右对齐,一般我们选择右对齐模式。1 Q6 x) ~. W% |! r Left alignment 转换结果数据左对齐。6 c8 R+ p! _: ?+ g$ K0 G, v Scan Conversion Mode:' {! S: r/ C0 C0 f# ` Disabled 禁止扫描模式。如果是单通道 AD 转换使用 DISABLE。 Enabled 开启扫描模式。如果是多通道 AD 转换使用 ENABLE。 Continuous Conversion Mode:: S" B! `9 j' {% r3 A: i ~ Disabled 单次转换。转换一次后停止需要手动控制才重新启动转换。 Enabled 自动连续转换。 DiscontinuousConvMode: ~5 {+ k* X; Z) L/ M# S; V; A Disabled 禁止间断模式。这个在需要考虑功耗问题的产品中很有必要,也就是在某个事件触发下,开启转换。 Enabled 开启间断模式。3 M7 E; G+ C. k; h1 |! J ADC_Regular_ConversionMode:% Q1 t( m% c; ^/ M: t# i1 \ Enable Regular Conversions 是否使能规则转换。 Number Of Conversion ADC转换通道数目,有几个写几个就行。 External Trigger Conversion Source 外部触发选择。这个有多个选择,一般采用软件触发方式。6 w# D, w7 l0 l' J' {1 s 2 m+ o3 u* l H; O Rank: Channel ADC转换通道2 d. E" J- @8 O7 x1 A Sampling Time 采样周期选择,采样周期越短,ADC 转换数据输出周期就越短但数据精度也越低,采样周期越长,ADC 转换数据输出周期就越长同时数据精度越高。; G J/ p4 Y7 P; K3 M1 D3 W ) J+ {1 E; z9 n5 ~* R, j9 E5 m& |+ j ADC_Injected_ConversionMode:7 Q: p, K% X# N8 c' _4 Z u Enable Injected Conversions 是否使能注入转换。注入通道只有在规则通道存在时才会出现。% L% w& n8 x6 A3 V3 k# K- Q % o$ }8 p) }4 p( o# ]- X! h. G WatchDog: Enable Analog WatchDog Mode 是否使能模拟看门狗中断。当被 ADC 转换的模拟电压低于低阈值或者高于高阈值时,就会产生中断。 DMA开启。
+ t5 N! }+ I* j7 g! x* Q 生成独立的文件。$ q+ `* r; W4 C0 [( J
6 A3 \6 V' Y# a( T. f% L. b keil配置 microlib 进行了高度优化以使代码变得很小。 它的功能比缺省 C 库少,并且根本不具备某些 ISO C 特性。 某些库函数的运行速度也比较慢,如果要使用printf(),必须开启。 6 F/ n) e+ r5 a" n$ `* z8 r
9 P. Y* G4 d8 v' K' _ 代码6 N8 n' c2 H& b' s 在main.c中,添加头文件,若不添加会出现 identifier “FILE” is undefined报错。
函数声明和串口重定向:! b% B2 M) M6 G1 w$ j: c$ a3 d
定义变量,存放采集到的数据。3 G$ A$ _! ?# R0 H- i; r
使能ADC传输。
主循环。
ADC回调函数。0 @1 q+ b, P/ p l5 b( t: s DMA传输的时候如果读取内存片段,会有仲裁器的问题,加了一句关闭DMA的语句HAL_ADC_Stop_DMA(&hadc1);
|
【STM32H5 评测】基础硬件加密与随机数性能 - STM32H5E5实测硬件AES加解密、HASH运算、TRNG真随机数输出速率与稳定性
【STM32H5 评测】NUCLEO-H5E5ZJ 使用 TrustZone 安全分区系统实践测试
【STM32H5 评测】CPU核心性能 - STM32H5E5跑 RTOS,观察任务切换速度、中断响应快慢
【STM32H5 评测】介绍、环境搭建、工程测试
#双节活动 1.在CubeMX中引用touchGFX出现的问题与解决
如何将STM32CubeMX生成的CMake工程导入STM32CubeIDE
【 逢7发帖赢大礼】1、利用CubeMX生成正点原子H7R7开发板的STM32CubeIDE工程
STM32CubeCLT 1.22.0新版本发布
【下载问题解决】关于ST官网下载软件问题解决
STM32CubeMX 6.18.0新版本发布
微信公众号
手机版