- #include "stm32f10x.h"
* d: E0 k9 E6 j/ ?! w% Y - #include "stm32f10x_gpio.h"* J ^0 F( t; k1 \8 o
- % {2 h+ J$ w; a6 _) J( G
- void Delay(unsigned int uCount)& ^4 j1 J* Y: q
- {
0 @/ g- B0 t7 c2 t0 ?7 k+ J - for(;uCount>0;uCount--);
% A2 ^2 Z3 i% h- Z% i" ` - }$ J0 Z+ ?; w8 X$ X
- * J0 q. y# L/ o) C: k$ K
- int main(void)
: P. c3 R. Y; X, r; M" d - {( a+ S6 o2 T/ ?- p+ H
-
% V1 ^0 a, |7 v - GPIO_InitTypeDef GPIO_InitStructure;//这个是定义一个结构体变量,这个结构体里有GPIO的引脚,输出速度,以及模式
, ^/ g7 x% q& k8 A - RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD,ENABLE);//使GPIOD的时钟打开
! N# |- q! v, b5 q' U. p- |3 J - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_7;//引脚是2,3,4,7引脚
8 }# F6 E3 |# @ - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//在50MHz的情况下跑LED+ ^/ }& U# V% ?8 ]: L4 \4 l
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//普通推免输出模式
( L; l/ J, k# ]$ P* [& d! |8 m - GPIO_Init(GPIOD,&GPIO_InitStructure);//给上边那几条指令进行初始化) Y8 M" X; {+ H, t
- while(1)& }% }$ p$ h6 p. ^( ?4 b
- {/ b/ y' g. R- N# y2 T
- GPIOD->BRR=GPIO_Pin_2;//这是GPIOD寄存器BRR的使用,大家可以参考手册,(我的上一篇帖子中出现过这个的介绍,可以看看)/ E# c; Q p3 u9 n( }. A/ `
- GPIOD->BRR=GPIO_Pin_3;4 g$ T `* W! m G# j7 G
- GPIOD->BRR=GPIO_Pin_4;
; k( Q% r! m9 k/ Q& r- u - GPIOD->BRR=GPIO_Pin_7;# ?! H4 g- ~( l/ k! @2 ~
- Delay(0XFFFFF);
8 O: a3 t8 N3 k7 ~' c4 ~ - GPIOD->BSRR=GPIO_Pin_2;//同上GPIOD寄存器BSRR,
0 E# j1 K& m+ a6 H4 h8 q - GPIOD->BSRR=GPIO_Pin_3;
8 T+ @3 a' N7 s; y1 O - GPIOD->BSRR=GPIO_Pin_4;7 U' H) q/ g* T: L4 v
- GPIOD->BSRR=GPIO_Pin_7;
- a2 e) y; N5 u/ {1 s& x - Delay(0xFFFFF);
& n' Y! b, E+ m. _& K: j - }5 `2 e( T8 L$ Q* m
- }
复制代码
' r! j( s7 z$ E7 j9 s1 y |