GPIO基础知识
每组IO口含有下面7个寄存器,7个寄存器一共可以控制一组GPIO的16个IO口。
GPIOx_CRL:端口配置低寄存器
GPIOx_CRH:端口配置高寄存器
GPIOx_IDR:端口输入寄存器
GPIOx_ODR:端口输出寄存器
GPIOx_BSRR:端口位设置/清除寄存器
GPIOx_BRR:端口位清除寄存器
GPIOx_LCKR:端口配置锁存寄存器
下面实现:使用STM32F10xmini开发板
复位以后跑马灯展示(全亮,全灭,闪两下,从左至右单亮,从右至左单亮,全灭) ;
核心代码
头文件led.h
#ifndef __LED_H
#define __LED_H
void LED_Init(void);
#endif
实现文件led.c
#include "led.h"
#include "stm32f10x.h"//包含固件库头文件
void LED_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//GPIOB的时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD,ENABLE);//GPIOE的时钟
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//设置推挽输出
GPIO_InitStructure.GPIO_Pin= GPIO_Pin_8;//
GPIO_InitStru