STM32的LED控制图 `3 X: h$ G1 M' i# `
& j. n- r# T2 v! m8 f& _3 Y0 s
- P5 y+ V8 `" J
4 U; z8 N; m# h/ ?/ m: ?( K led灯电路如上,PB0=8,小灯点亮
& b$ R: Y" C5 w% v" u
! W/ F# j! c2 _2 a- j' \点亮小灯分为3个步骤# P7 ?+ @$ Q$ \
8 k; G! F3 Z0 m* I1.使能GPIOB的时钟: T* U7 g6 y: `! D9 w: [
' n7 P" v- R1 l3 @. N* S( y/ Z" c
2.将PB8引脚配置为输出引脚! y8 W0 G# O2 r- n @* s
9 c' E5 x ]) `/ n- L
3.电平置零,点亮led小灯
1 t* J: l2 T7 p8 A, B9 A' F, N6 H5 [8 X- y0 I, A: G4 f
代码如下(详细的注释在里面)
" ~, A6 T$ X- Y, @& ~( J5 p- y* R: ~9 u
前面的代码不用特意去背,初学者会认即可,随着以后的学习就会有更深刻的理解" `( ]* `( n3 Y" J1 s1 U1 o7 r# \
3 k5 e; z* `8 l5 f7 X- #include "stm32f10x.h"6 S# {& ~8 l+ ^$ `4 m% W& |
7 J2 N1 I& z' i' j0 u- int main(void)) K$ t: g3 } d2 L
- {
( Y4 ]. i+ }7 ?: |) ` - GPIO_InitTypeDef GPIO_InitStructure;% w1 T3 i- p8 T" j
- RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB, ENABLE); //使能GPIOB时钟
, g2 m. U) _# |: `/ h - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; //PB8引脚配置
V& K3 w. b- H - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //配置PB8为推挽输出& t( b2 s$ k6 L% k: [! e
- GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //GPIOB速度为50MHz. M/ q- J/ a8 J/ l8 d
- GPIO_Init(GPIOB, &GPIO_InitStructure); //初始化PB89 Y; a% D! ]2 L3 V! v
- GPIO_SetBits(GPIOB,GPIO_Pin_8); //PB8输出高电平,LED熄灭 h2 h6 b! e2 L2 o M+ K
- 8 y" O; _! S1 }4 q- F& n2 W, O" n
- while(1); M# X! x5 G5 w' M& _
- {
; @2 Y: i- M4 s* j+ g2 W2 U - GPIO_ResetBits(GPIOB,GPIO_Pin_8); //PB8输出低电平,LED点亮
# }4 |5 F/ n3 k! _1 G/ b: \2 c8 z2 K - }
1 r/ \& I0 n# g- v0 E. U$ Y' A, ~+ S - }
复制代码
2 Q' a s& ^# ~# r6 H. k- i4 ]- M: i, A- `, l: q: X( V
2 i9 W$ k/ Y$ l, |: r$ q
% |% n ^! x7 X& M9 w3 O8 D9 O& h$ i4 s* s5 v! q
|