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

【经验分享】STM32CubeMX教程-GPIO

[复制链接]
STMCU小助手 发布时间:2022-6-26 14:18
  • 设置GPIO引脚的输出功能,将对应引脚拉高或拉低输出
  • 初步认识STM32最新的HAL库的使用
  • 用代码实现控制GPIO引脚输出产生周期出1s 占空比为50%的PWM波
    2 ]1 K# C( F7 @! b; f
示例详解
    做实验用到的STM32F103C8T6最小系统板,如下图所示。使用STM32cubemx 工具自动产生的配置工程,使用KEIL5编译代码。
! o6 C1 H- L1 Y# W7 N4 ~+ k3 D
G}CUB`(SKY6]}W9YVTGRP}7.png
5 T" H" u  [; T$ W+ Y! w
    最小系统板原理图:

) c" E2 x) A2 L! v; a0 a# }3 T
[_3466S}I27NNKJ$}BL_7MY.png

1 B) [% f" |- Z' ]. V
新建并配置工程! B, g8 b  {- g7 e$ u# J7 z
QGC1}}B]U(%$S~[]9Y%PQ(4.png
( s7 b5 E: K+ C  W9 R# ]
    在新弹出的界面中的搜索框中输入 “stm32f103c8” ,并双击右侧栏中列出的STM32F103C8
. K# R( ]8 ?& ^) e% ]$ a* p
Y`HM_D@~9JYWV3NJEOWZBIE.png
; m; L7 J  f! B5 ^# ]8 K, _
    弹出如下图所示界面,至此工程创建完成。
    接下来配置工程。
_[SWN{7QN(HF22%)Z@OSRUX.png
; m# w5 ]$ c+ ^" f
    配置系统伏仿真调试接口, 在System Core 目录下单击SYS选项,将其中的Debug选项选为Serial Wire, 此时PA13 PA14引脚会被占用。
    配置STM32 CUBEMX 工程。

' P1 e6 s& R7 O2 x7 g1 Z- H7 W; ?
0BF(XBN]ZIK_FS6P%TJYAE3.png
1 b. {8 E- W7 j* q# R% J
    配置系统时钟源,在System Core 目录下单击RCC选项,将其中的High Speed Clock( HSE )选项选为Crystal/ceramic resona…, 此时PD0 PD1引脚会被占用,配置图如下。

+ m! E1 X& L" \+ {+ z) d7 \% \
3QR8R23S04WC$ETN1H`OO{6.png
1 m5 X/ K. f4 v
     配置GPIO PA0引却为输出,在右侧图中单击PA0引脚 ,在出现的选项选框中选择GPIO_Output 选项,选完后在在System Core 目录下单击GPIO选项,在GPIO子项中单击列表中的PA0,可看查看到PA0的详细设置参数,也可以根据需要进行修改,在这里保持默认即可。

" s; k1 p/ A0 c& m* I' y7 B
64C9~YG51IRK4K%M[`UN@L9.png
! p( d: P4 p6 y6 V0 e+ d
9G~89{7WYT3(IB`(H%WXC74.png
* }7 ?0 y* |% M
    配置系统时钟树,将工程界面切换到Clock Configureation 界面,完成如下配置。
* a" l# M! k; d
`~ENF`GK[JR0$IO9996~%`P.png

4 d+ m1 C; d  }- b- J" I5 T
    配置代码生成,工程界面切换到Project Manager 界面,在界面左侧单击Project项,将其设置成如下图所示( 设置工程路径在E:\Stm32cubePrj目录,工程名为stm32_gpio, 开发环境为 MDK-ARM v5 )。
* ?/ p0 x  O7 t7 y9 v; Y
R8L3M_J}`LLL{)DA%V1S`8H.png
$ T) q; D& g/ e9 b
    在界面左侧单击Code Generator项,将其设置成如下图所示。
    只拷贝所需文件到工程,为每个接口生成独立的初始化头文件和源文件,将所有未使用的引脚设为模拟输入。
' O/ x" P$ W% k+ O. n
D)P9BWWG0{HU)G_@4LWT7TX.png
$ Q( B3 X' }5 r+ V, B. r4 @6 e% A7 g
打开工程
5 [' R" F' p$ `' V$ r1 G
    生成代码,单击工程界面中”GENERATE TOOL” 开始生成代码,代码生成后弹出是否打开工程对话框,单击“Open Project”打开创建的工程。
$ G0 L! o2 [' R, I  Y8 I
(5_[R63PSPE{XUWJ]H)YB`I.png

8 R4 ]# ^+ v2 t: ^5 c  c0 L; O: ]& J' S: P8 _# f+ g  U; w: G8 S5 {; k( X
    在代码工程(MDK/keil)中的 main.c 中 man函数中如下红框中代码:
# b- N9 g0 |: e7 i- _& k( }
%LQY4Y2%S(XLACR(VL53M9Y.png
8 v9 Q5 y3 j: e2 T, [
编译工程  m8 h0 l( k6 [: W
DYE(NEDW2NQL_TAG)H2G.png

) H5 W9 x: [! W$ m# z2 E  Z; J
    烧录代码,在代码工程中单击“Options for Target” 图标,在弹出的窗口中选中“Debug”页,选择相应的烧录工具,本示例所用是jlink工具。
    单击右侧“Setting”按钮,将Port 设为“SW”, 最大速度建议不要超过5M。
    如果仿真调式工具接线过长,可以将最大速度设为100K,这样可以保证烧录成功。+ q$ ~: M7 w: n! {
7 q! v& Y3 s& G' G& W' V. s9 O9 n
C73U5$L@RQB2S`EZ0BOMNQH.png
' G; V6 F, k' c
    选“flash Download”页,勾选“Reset and Run”,并确保其它内容如下图所示。
+ u# u+ o( u# l" c6 x
KK_N1)IZ$B28CHQJSWP0U.png

) W& p# u( ]$ b6 f- q
    设置完上述设置后,便可进行下载操作,将调试仿真工具中的与最小系统板连接好,在工程中点Download 按钮,或按F8快捷键进入下载,下载完成后会出现如下图所示提示信息。
5 Q: K' M% K6 L; d7 z. B
微信图片_20220626141258.png
' v( P' G4 H7 P1 X
    操作GPIO引脚实现周期1S占空为50%的PWM实验完成。
    用示波器逻辑分析工具在PA0引脚可以看到如下图所示波形输出!!
, k; @6 d6 Z/ l0 J; [8 N# l
/ _: \8 A! ~. ]0 i. h0 H6 B0 ~: p# _/ j
微信图片_20220626141254.png
9 L; H/ o, _" W( n% _
收藏 评论0 发布时间:2022-6-26 14:18

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版