- #include "stm32f10x.h"$ `- M: m4 p8 \6 K$ u0 e$ m9 q S( W
- #include "stm32f10x_gpio.h"
7 m: A5 ]2 f/ J, w+ ~8 ^" Y2 ]9 Z -
w( `9 X9 K* c) i6 p$ w i - void Delay(unsigned int uCount)
. e0 s1 S/ j0 ^) U% J - {5 T/ Y ]& _7 S" V
- for(;uCount>0;uCount--);
7 ^7 @1 J; l2 P% O - }
' t2 b$ R( n' `3 e0 s! V; p' s
8 B. R' L3 R4 f1 _6 i1 L9 q8 q- int main(void)
4 E, p ]- y9 C - {7 G9 _( F9 Y0 J
-
1 Y ^# T: K0 N/ H - GPIO_InitTypeDef GPIO_InitStructure;//这个是定义一个结构体变量,这个结构体里有GPIO的引脚,输出速度,以及模式+ b9 d" o$ D" b- F
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD,ENABLE);//使GPIOD的时钟打开# M U5 o" i& j H8 z: h+ ~4 K/ }
- GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_7;//引脚是2,3,4,7引脚: J- L9 {4 u) w. L
- GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//在50MHz的情况下跑LED
" p' P! u, {# B2 \ - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//普通推免输出模式
7 U2 g" x0 \/ A+ M - GPIO_Init(GPIOD,&GPIO_InitStructure);//给上边那几条指令进行初始化! q) G% W! X, X1 A7 G; b
- while(1)' z3 W' V$ L3 O2 C! f' T
- {! T- @) z3 u; q3 m$ @/ U
- GPIOD->BRR=GPIO_Pin_2;//这是GPIOD寄存器BRR的使用,大家可以参考手册,(我的上一篇帖子中出现过这个的介绍,可以看看)( c% j1 f2 z6 Q6 C, v$ h
- GPIOD->BRR=GPIO_Pin_3;9 w0 u. K A/ n
- GPIOD->BRR=GPIO_Pin_4;
* s( ^4 `# x) B+ B - GPIOD->BRR=GPIO_Pin_7;; ?) _9 y& j" A) C
- Delay(0XFFFFF);
/ f0 ~7 U! W, C! O- { - GPIOD->BSRR=GPIO_Pin_2;//同上GPIOD寄存器BSRR,( G' ~/ t# {1 i% P7 v/ O
- GPIOD->BSRR=GPIO_Pin_3;
( {! c- l9 K4 O( h3 [/ N% m0 j - GPIOD->BSRR=GPIO_Pin_4;/ X! m7 l% [" |! X ^1 c' F0 L4 ]
- GPIOD->BSRR=GPIO_Pin_7;! u% R$ p# v+ J+ s5 `+ y* P
- Delay(0xFFFFF);, ~6 U9 g4 U# C0 ~
- }$ U& e+ [" o8 ^- k- [; x
- }
复制代码 , K. Q3 y+ I: Y H' U5 R7 R4 W
|