因为疫情封闭,导致活动两个月后才拿到板卡,这几天利用空余时间研究学习了一番,开箱篇就省略了,直接进行点灯篇,作为一名STM32初学者,计划是一步一步的进行此板卡的学习,帖子中一定有一些用词不当,论述不当,引用不当,操作不当的“四不当”情况出现,欢迎坛友们批评指正,谢谢! 本来打算用CubeMX+CubeIDE,但是因为习惯了用MDK,所以就用了自己习惯的IDE编译环境MDK V5.37,后面有时间再学习CubeIDE,到时再跟坛友们学习讨论。 首先是安装STM32CubeMX并打开,安装H7的最新Pack包(相信大家都知道怎么做,故省略了此步骤);新建H7A3的点灯工程;: {& O! s @$ G0 m5 v0 U# } 新建工程有两个选项,下方图片给出了相关说明,此处我们选择第一项,以MCU从零开始创建; 输入所需MCU的型号相关字段,此处输入“H7A3”,选框中会下拉出包含此字段的所MCU型号,我们下拉到此板卡主控MCU的型号处,点击即可,此时窗口右下角会出现此MCU型号的; " ?$ D; s& E7 C) V* k 双击MCU型号栏,即可进入工程的相关外设的配置页面;(会出现一个有关预设置存储保护区块的窗口,点击Yes即可看见调用进度条) - L. B3 ?6 ^" Y# Z5 M! L: G7 V0 m 参照板卡的原理图,可以确定PB0默认控制LD1,故在工程中针对PB0引脚做以下相关设置; 2 t) e+ ] h: u% f8 E # G4 {4 h- p2 }/ Q9 ^ h ; x0 W9 V4 w% ]" r 1、设置PB0为GPIO_Output模式+ v# b+ F2 L8 z3 { 2、点击展开左侧外设选项栏的“System Core” 3、再点击下方的”GPIO“) u. l+ k/ R' [0 Z! z+ H 4、在右侧出现的”GPIO Mode and Configuration“窗口在点击下方的“GPIO”栏中的“PB0” 5、下方会出现“PB0 Configuration”操作窗口,具体操作项说明见上图,此处更改“GPIO output level"为”High“,设置”User Label“为”LD1“4 J3 |! n7 l' m& _( A O 因只是简单的点灯,故时钟设置为系统默认即可,此处不进行操作。 以上设置完成后,点击”Project Manager“进行工程的代码生成相关设置;1 x2 G/ Q' X. i( v, o. A 进入“Projcet”,1 H I: O( F. P 1、设置工程名称为“LD1”,3 _- S' {# l7 ~: Y 2、选择工程的保存路径$ b5 s" q3 b/ Q F. L/ I7 N 3、选择编译用的IDE及版本# {, u" y' a/ x2 q+ M 点击左侧的“Code Generator”,勾选下图中的选项,具体看下图中的说明; ! x' U0 z; g( d( H7 w b& ?0 q % f$ Y4 V* L: }9 X 3 I8 {1 l2 a H 点击左侧的”Advanced Settings“,点击“Driver Selector”栏中的”HAL“,出现下拉窗,点选"LL"选择以LL库生成代码,原因见图;下方的“Generated Function Calls”栏内的两项保持默认即可,原因见下图中说明; / S: g; Q3 v: g `! \! S 通过以上操作,已经完成了点灯所需的相关所有设置;点击窗口右上角的“GENERATE CODE"生成工程代码即可;代码生成后会出现对工程的处理方式窗口;点击”Open Project“; 6 z3 |" s* r) c9 U 6 _% f& s; K6 k1 g4 N9 w 会自动打开MDK编译软件(前提是设置MDK为默认打开方式); Y0 O8 w: k$ }: X7 b 双击打开main.c文件:(用户代码的添加说明见下图)+ `1 m; q9 Q) w) V- z% Q + Z0 L& k- x5 w1 N4 O# c7 B1 | 双击打开gpio.c文件: ; B6 h5 x/ A5 C, d% ]7 e8 j , L: _6 m7 I6 X1 a) ]' ~" S 从原理图上可以看出,PB0输出高电平就可以控制NPN三极管Q1导通来点亮LD1; 所以不需要添加任何代码,直接编译即可;: z, R' m/ p' n3 W & D0 A# O6 L! U6 F 接下来设置板载St-link进行下载程序到板卡;点击MDK工具栏上的”魔法棒“,按图片顺序进行设置即可; $ O( J2 }+ w- T" O3 Z: D . E% P: G: r# ^7 c / n# o0 G$ F! y. k% a$ W" W : m. G# D/ n2 P: [9 i ) E# p9 A7 r9 x% s! B; Q3 e 上图的编程数据空间段如果在需要设置的前提下没有设置,会出现下图中的错误提示(此板卡照图上设置即可); ) i! t+ S; ~; _* X9 y/ w6 f ' c2 p0 g$ s, i+ M! m# m4 x! ` * f8 Q6 K5 a9 a- b8 v7 b% v ' d n# u3 i @& [, M! d* H; V 以上设置好后,点击”下载“按钮,下载成功后如下图; 自动运行效果见下图: * V4 d5 I1 R6 [) ? 工程代码附件:+ o- l' S. \( |" F0 [ |
【经验分享】STM32_H7_ADC
STM32H7R/S高性能MCU:安全性,大存储和优异图显赋能更多应用创新
Stm32H7XX GCC下分散加载实现
【银杏科技ARM+FPGA双核心应用】STM32H7系列10——ADC
DIY-STM32H750核心板
[nucleo-H7A3ZI-Q]1-点亮一个皮皮灯
DIY-STM32H743核心板
【银杏科技ARM+FPGA双核心应用】STM32H7系列57——MDK_FLM
1月10日有奖直播 | 基于STM32 的CODESYS智能自动化解决方案
STM32的CAN FD位定时设置注意事项
' m; H! z: F% w/ }3 A
1 X8 D: t |/ \1 C9 \4 B6 `( A5 |