因为疫情封闭,导致活动两个月后才拿到板卡,这几天利用空余时间研究学习了一番,开箱篇就省略了,直接进行点灯篇 ,作为一名STM32初学者,计划是一步一步的进行此板卡的学习,帖子中一定有一些用词不当,论述不当,引用不当,操作不当的“四不当”情况出现,欢迎坛友们批评指正,谢谢!/ \' p) t: Z- C. u本来打算用CubeMX+CubeIDE,但是因为习惯了用MDK,所以就用了自己习惯的IDE编译环境MDK V5.37,后面有时间再学习CubeIDE,到时再跟坛友们学习讨论。, v, [* R$ e& a 首先是安装STM32CubeMX并打开,安装H7的最新Pack包(相信大家都知道怎么做,故省略了此步骤);新建H7A3的点灯工程;6 h9 U6 P" {& a! ~- p" V3 O# f 0 [: [# K8 @* v1 A; K0 E) k新建工程有两个选项,下方图片给出了相关说明,此处我们选择第一项,以MCU从零开始创建;
![]() 输入所需MCU的型号相关字段,此处输入“H7A3”,选框中会下拉出包含此字段的所MCU型号,我们下拉到此板卡主控MCU的型号处,点击即可,此时窗口右下角会出现此MCU型号的; 1 S1 ]( @/ H, |* Y! m ![]()
双击MCU型号栏,即可进入工程的相关外设的配置页面;(会出现一个有关预设置存储保护区块的窗口,点击Yes即可看见调用进度条)& v `/ k0 j v - M T% Q) Z. s8 B. j# X% \
8 m* j1 e6 ~3 @! ^ V0 U/ j" S( P o. F) O, \, y; }1 `& P- {9 h' L ![]() 0 c+ W7 G6 _3 ?3 ] 参照板卡的原理图,可以确定PB0默认控制LD1,故在工程中针对PB0引脚做以下相关设置; . ^1 k0 e: m4 [! F
# Y+ C, d7 {; V$ W9 i. q: x6 C7 I ![]() # j3 ^% D6 A! f, X8 a5 h9 R3 k 1、设置PB0为GPIO_Output模式2 Q9 g I2 ~* i0 p; b# a# ` 2、点击展开左侧外设选项栏的“System Core”4 ^* v$ e* L, j 3、再点击下方的”GPIO“ 4、在右侧出现的”GPIO Mode and Configuration“窗口在点击下方的“GPIO”栏中的“PB0”( r3 ?. x9 q4 ?- F4 o 5、下方会出现“PB0 Configuration”操作窗口,具体操作项说明见上图,此处更改“GPIO output level"为”High“,设置”User Label“为”LD1“ 因只是简单的点灯,故时钟设置为系统默认即可,此处不进行操作。 % i y* x0 k" @# L" Y$ b1 m 以上设置完成后,点击”Project Manager“进行工程的代码生成相关设置;0 U9 @9 d8 m3 b3 \7 ~$ n8 P 6 C! x* s7 {7 I 7 F7 a' h% j6 F* j+ J2 G
" T; r9 u) \7 j1 W3 w 进入“Projcet”,. J S8 J( v f7 L y& P 1、设置工程名称为“LD1”,' _) N# r2 g# B9 U. P. Y y 2、选择工程的保存路径 3、选择编译用的IDE及版本* {+ A0 q7 H1 X/ } 6 w- Z: E% N* H: v2 i- v ![]() 点击左侧的“Code Generator”,勾选下图中的选项,具体看下图中的说明;8 A/ \! i% v' S# N0 g% o. R" g% x
. u6 j" o+ i" P o9 f2 n点击左侧的”Advanced Settings“,点击“Driver Selector”栏中的”HAL“,出现下拉窗,点选"LL"选择以LL库生成代码,原因见图;下方的“Generated Function Calls”栏内的两项保持默认即可,原因见下图中说明; ) B4 p0 p7 n3 @- U! e O3 c+ C
通过以上操作,已经完成了点灯所需的相关所有设置;点击窗口右上角的“GENERATE CODE"生成工程代码即可;代码生成后会出现对工程的处理方式窗口;点击”Open Project“;
![]() ! t8 J( N2 I9 ?$ c 会自动打开MDK编译软件(前提是设置MDK为默认打开方式);) p& X9 V. }5 n/ s* _ 双击打开main.c文件:(用户代码的添加说明见下图)( y; h+ e" d( f! N3 y
8 D7 F) @6 ]' k7 z双击打开gpio.c文件:: k) A$ p% G% q6 e; Z ' u- }: b, r; p" J' v( c$ L& R( {* O 6 l* e/ G& O6 E8 j" n+ S
从原理图上可以看出,PB0输出高电平就可以控制NPN三极管Q1导通来点亮LD1;) b: R3 G0 `( A, Z8 ?7 X 所以不需要添加任何代码,直接编译即可; 9 k# P, x& p3 `( A4 W" P 6 X/ ^, g+ W1 h
接下来设置板载St-link进行下载程序到板卡;点击MDK工具栏上的”魔法棒“,按图片顺序进行设置即可;, X& S" R. |& q9 V) I' F) ? 1 s( T' {8 k- y; Z4 q& a ![]() ![]() ![]()
& H" ~4 M7 g6 F w9 J
& m7 N# c' A2 [2 \+ r 上图的编程数据空间段如果在需要设置的前提下没有设置,会出现下图中的错误提示(此板卡照图上设置即可);
/ ?: v* P- x, | A
! W- C# U) l0 j7 L N% x![]() 以上设置好后,点击”下载“按钮,下载成功后如下图; ![]()
( S9 S: r9 z+ i 自动运行效果见下图: $ B k1 I" _6 [, d
工程代码附件:7 t# s2 ]& c3 m9 o: M
LD1.rar
(3.57 MB, 下载次数: 5)
|
|
论坛什么情况,复制过来的时候还有图片,现在没有图片了?无语。。。. b' A( p* Q+ a4 C9 I* a |
|
为什么复制粘贴的图片不能显示,这个论坛真的是搞人啊,无语,编辑个帖子真他妈难!!!! |
|
自己的从截图工具中复制,粘贴到编辑窗口,结果提交后,不显示。。。。。。,发个帖,找不到入口,编辑个帖子,提交图片给吃了。。。。无语。。。。/ G( H8 f; o. l. v3 |7 ^# w D) h |
【新品】STM32H7P微控制器:DSP与边缘AI加速赋能工业实时控制
【 逢7发帖赢大礼】1、利用CubeMX生成正点原子H7R7开发板的STM32CubeIDE工程
【STM32H735G-DK测评】ADC3+TIMER1+DMA 采样模拟信号
【STM32H735DK测评】Ethernet+lwip DHCP获取IP地址
STM32H743基于CubeMx5.0配置手册
【STM32H735G-DK测评】lvgl移植
【STM32H735G-DK 测评】STM32H735G-DK External Loder 编译和测试
【福利三:逢7发帖赢大礼】使用MPU6050模块、img_dsc、img_btn机制实现一些简单有趣的动画效果
【福利三:逢7发帖赢大礼】使用arc弧形拉条控件控制PWM舵机及使用SPI3接口操作NRF24L01模块进行无线通信
【福利三:逢7发帖赢大礼】调试nucleo-WBA65RI工程测试样板的一些心得
微信公众号
手机版