本帖最后由 e芯凌 于 2019-11-10 22:22 编辑
总体思路:
使能IO口时钟。调用函数RCC_APB2PeriphColckCmd();
初始化IO口模式。调用函数GPIO_Init();
操作IO口,输出高低电平。使用位带操作。
位操作原理: 把每个比特膨胀为一个32位的字,当访问这些字的时候就达到了访问 比特的目的,比如说BSRR寄存器有32个位,那么可以映射到32个地址 上,我们去访问(读-改-写)这32个地址就达到访问32个比特的目的。 led.h代码和led.c代码可以参考我别的文章: main.c代码:
- #include "stm32f10x.h"
- #include "delay.h"
- #include "led.h"
- int main()
- {
- delay_init();
- LED_Init();
- while(1)
- {
- PBout(5)=1;
- PEout(5)=1;
- delay_ms(500);
- PBout(5)=0;
- PEout(5)=0;
- delay_ms(500);
- }
- }
复制代码 |