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

STM32学习笔记三

[复制链接]
STMCU小助手 发布时间:2021-3-10 13:56
STM32学习笔记三
) O9 R5 T/ p7 t' e3 b9 y' f/ F
2 s4 D- v. X+ w$ R% p- t; p# y* n
任何一个单片机,最简单的外设莫过于IO口的高低电平控制了,本次学习就通过经典的点亮LED灯的程序,开启STM32的学习之旅。通过本次学习,你可以了解到STM32的IO口作为输入输出的使用方法,本次学习将通过代码控制 ALIENTEK 探索者STM32F4发板上的两个LED:DS0和DS1交替闪烁,实现类似跑马灯的效果。

# g& b1 D/ P0 u. ^% L3 s" x# H
7.1.jpg
& u( P% J" C* s% Y& n/ D7 V/ L( [
首先看一下这是我们前一节所需要配置好的一个模板工程,我先说明一下该工程的一个大致结构,根据图片上的标号来,
7 d2 @- |1 p. r+ ?  _8 _- e9 m
标号①表示该工程模板的一个系统库函数文件,该目录下的文件是确保你可以使用ST官方的库函数,一般建议保留,也可以只保留你所使用到的模块。
: d7 ^. u" r, W% w  s0 |6 p2 U2 s
标号②存放的是固件库必须的核心文件和启动文件。这里面的文件用户不需要修改。大家可以根据自己的芯片型号选择对应的启动文件。
, ]/ x4 l8 S# M3 q6 I7 j
标号③的话是系统的共用代码,可有可无,你如果要是用就需要添加,不使用就可以删除。
0 R. R3 s0 A) h' @" y
标号④这边是添加了一个硬件文件夹,该文件夹下面存放的是每个实验的外设驱动代码,他的实现是通过调用FWLib下面的固件库文件实现的。
% X6 ?7 i! h( i( }5 U
标号⑤存放的主要是用户代码,但是 system_stm32f4xx.c 文件用户不需要修改,同时stm32f4xx_it.c里面存放的是中断服务函数,这两个文件的作用在后续讲解。
9 N6 v0 t& M3 v6 S8 ~; x. `3 _
然后,今天的实验就是在模板函数中添加我们自己想要进行的操作文件,主要本次只要添加led.c和led.h即点亮LED灯的文件到硬件文件夹下面,如图

2 Q/ @. ?. E- Q+ E; e2 U! B4 m
7.2.jpg
$ m" o& c1 z  a$ O: B
代码主要是对LED灯所连接对应引脚进行初始化,首先我们看一下硬件图。

8 B& d0 ]( a1 n* P  M
7.3.jpg
( {2 [5 R, k$ h- g+ j
从硬件图可以看出LED灯连接的是PF9和PF10引脚,所以我们只需要对9和10引脚进行初始化。具体代码如图
4 I* m8 M% w/ }! w
7.4.jpg
8 v6 C3 o) m& ^/ v& S3 Y* @
每组GPIO都有时钟,我们初始化的时候必须先将时钟使能。虽然 IO 操作步骤很简单,这里我们还是做个概括性 的总结,操作步骤为:
2 J  Z. B; _4 a1 H9 Q9 r1 [' j
1) 使能 IO 口时钟。调用函数为 RCC_AHB1PeriphClockCmd ()。
2) 初始化 IO 参数。调用函数 GPIO_Init();
3) 操作 IO。
; V" J# N$ R+ N1 z
然后我们再在main函数中调用初始化后,我们就可以对相应的IO进行操作了。
0 \1 D7 m/ X5 {4 E0 F# H% i! C
7.5.jpg
' _& s+ K/ J  @+ H$ U3 p/ ?. n+ c/ L
最后我们将代码编译下载到开发板中就可以看到LED灯开始交替亮起来了,我这边的笔记的话主要是记录一些基本流程和操作。具体的细节大家可以参照开发板的开发手册来看,里面都有很详细的讲解,还有代码大家一定要自己敲,不要去复制,哪怕是照着敲也行一定要自己敲一边这样映像才会深刻,才会更容易理解。如果还有不清楚的地方大家也可以一起讨论。
5 ]2 E7 e2 o/ Q$ a! b; W0 ]
文章出处: STM32开发学习

& y- O$ \1 z* n" Q7 f; T* P$ \) ]5 P0 H" \8 a

; U  J* f2 V9 ~( K, y# _' L
- ~6 a; U, ?% s5 G* Z( }' T
收藏 评论0 发布时间:2021-3-10 13:56

举报

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