STMCU小助手
发布时间:2022-3-15 22:00
|
本小车使用的是亚博智能小车,使用的主芯片型号是STM32F103C8T6,在此我们首先需要做的是理清一下实现LED灯点亮的思路。 & x6 U5 |' D, ` U* @+ L5 |* \ R 点亮LED的思路如下:$ m# l8 ]% F, O7 N( n+ X5 u 1.准备工作:通过主板芯片的原理图,找到LED所对应的引脚,这是为了后续对LED进行GPIO设置。 8 ?- K' M1 x! g 2.建立工程项目并进行GPIO引脚设置。8 A, V3 @. c$ \/ I) |& ~) a " j6 J: o" q" y9 Z) P; R 3.生成代码,编写添加使得LED灯点亮闪烁的代码。& g/ `9 g$ M+ P* J/ Z8 ~ 4.编译代码并烧录进主板,实现LED灯点亮。0 N* X! A. O: l 接下来我们就按照步骤一步一步实现来实现。) w. s) ?, w, i 3 c* T- u; F+ t( L 1.准备工作:通过主板芯片的原理图,找到LED所对应的引脚,这是为了后续对LED进行GPIO设置。) W# Y' T+ O' C, J: g4 H. X 8 ~/ J3 F/ n) g. Z
上图为主板芯片的原理图,LED在左下部分,咱们单独拿出来看:3 T9 z9 A4 O3 u3 T4 s
可以看出LED所对应的引脚是PC13,后续设置GPIO的时候会用到。1 Y' a8 X; Q+ [( K7 u2 n" b& o, Z9 Y ; Q N1 \! [8 z' \ 2.建立工程项目。 具体步骤如下:: J2 Z/ s% L6 t$ t( Z& M$ x 2.1 打开STM32CubeIDE软件,新建一个工程项目。7 k# D/ C2 Z. P; P 7 {+ W% E4 j9 q3 b* e7 `
2.2 选择芯片。这里先输入STM32F103C8,选中芯片点击右下角NEXT.4 d% V. k6 B) R4 M# B4 z# Z1 k
7 a% [9 Z* d6 M2 n4 ^4 X 2.3 给此次的工程文件命名。8 a" e% E. N9 k0 ~ ( o* e: x- E( ?8 J0 ~) A
2.4 在System Core中选择RCC进行设置,然后将High Speed Clock(HSE) 和 Low Speed Clock(LSE) 选择 Crystal/Ceramic Resonator 即选择晶振。 % a# N: _) @0 t" w$ \) }4 c. c
2.5 在左侧的System Core中选中SYS,然后将Debug选择Serial Wire。这里设置是把系统配置和模式设置成SWD接口,方便我们调用SWD调试工具。 $ w- f; P# G- S. @" }: ]1 a8 m
2.6 接下来就需要设置LED对应的引脚了,左键单击PC13,将其配置成GPIO_Output, f# A; b4 t/ j" L- ~& r- R ) p7 g) @. \1 X3 K0 N
[, E- D2 o' H; p 2.7 选择左侧GPIO,在GPIO Mode and Configuration中对PC13引脚进行配置,GPIO output level 为默认输出电平,这里保存默认设置低电平就好;GPIO mode 表示GPIO引脚模式,这里保留默认设置;GPIO Pull-up/Pull-down保留默认设置;Maximum output speed 为最大输出速度,这里选择High,高速输出。User Label为用户标签,这里输入LED,方便我们后续在写代码的时候调用。 5 [0 w, s9 a4 A0 _0 m; R
. L6 k0 H, g( g8 s6 v1 s G 2.8 选择Clock Configuration,进行时钟的配置,将HCLK(MHZ)改成72,然后按下回车键。( f0 `# X+ T0 m) P! f' G& S$ U' @4 l2 j
. n# v' w4 _/ f6 J, c 2.9 至此设置完成,点击 生成代码。 ' S9 B6 _% [" u+ X9 ~
. _/ w- D* C# A$ R4 n8 n 2.10 烧录进小车主板芯片,完成LED灯点亮。 (烧录教程可参考:) 图中黄色灯为控制的LED灯1 I9 }6 W& u# H9 p% o0 I" I 1 \1 M" ]5 \% Z- N4 v3 [; W8 B* V
此时LED为常亮,如果想让LED灯实现闪烁。还需要在加入代码。1 c, b( }# ^' v0 Y& |$ `* n 2 [1 S" j' W! f3 n6 l 3. 实现LED灯闪烁步骤如下: 3.1 在Project Explorer-LED-Core-Src的路径下找到main.c文件,双击main.c文件,在main.c 文件中找到while()函数。
8 u. r& n7 C/ E9 F& q+ g+ u# Y 加入以下代码:
PS:一定要注意代码一定要加在BEGIN WHILE和END WHILE中,这样代码才会运行。 % b" @ |. d# Y8 E+ x& |+ |
: U* M4 K6 c- m1 w, o$ f* k4 S2 l 3.2 点击编译,不报错即可进行烧录。7 A6 a6 I- i1 {0 c' G# f L+ Q( y0 H* F' J: W9 ~: `! K
3.3烧录完成后可以观察到LED灯以1s一次的频率进行闪烁,完成LED闪烁任务。 STM32CubeIDE中LED闪烁教程0 s% N' [6 l2 Z % ~. p6 ]/ y( B8 h5 } , @5 | U4 p7 I; f |
【经验分享】STM32语音识别的智能蓝牙音箱(源程序+原理图+PCB+设计说明书+PPT)
想找个ST芯片
[GPIO] 使用新型抽象开始C++嵌入式编程,从GPIO开始
技术手册stm32f1xx中的一个小问题
【经验分享】STM32 HAL库移植FreeModbus详细步骤
【逢7发帖赢大礼】STM32开发之IC门禁卡UID读取方法!
实战经验 | Keil工程使用NEAI库的异常问题
经验分享 | FDCAN数据段波特率增加后发送失败的问题分析
STM32几种流行开发环境的优缺点
好用软件推荐-TouchGFX Designer
微信公众号
手机版