今天跟着江科大的视频学习了使用GPIO完成LED闪烁,流水灯,蜂鸣器三个基础程序
注:流水灯主函数部分有点没看懂,后面补一下
一.操作gpio三步骤:
1.使用RCC开启GPIO时钟
2.使用GPIO_Init函数初始化GPIO
3.使用输入/输出函数控制GPIO口
二.定义结构体变量要在可执行语句之前,否则会报错
三. 延时函数
四.LED闪烁程序
#include "Device/Include×m32f10x.h" // Device header
#include "Delay.h"
int main(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOB,&GPIO_InitStructure);
while(1)
{
GPIO_WriteBit(GPIOB,GPIO_Pin_5,Bit_RESET);
Delay_ms(500);
GPIO_WriteBit(GPIOB,GPIO_Pin_5,Bit_SET);
Delay_ms(500);
}
}
五.激活蜂鸣器
int main(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_8;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOB,&GPIO_InitStructure);
while(1)
{
GPIO_WriteBit(GPIOB,GPIO_Pin_8,Bit_RESET);
Delay_ms(500);
GPIO_WriteBit(GPIOB,GPIO_Pin_8,Bit_SET);
Delay_ms(500);
}
}