基本函数框架
#include"stm32f10x.h"
int main(void)
{
while(1)
{
}
}
库函数初认识
rcc函数,常见有三
不难发现 有两个参数 第一个是选择外设 第二个是使能或失能(ENABLE/DISABLE)
GPIO函数
复位
初始化
GPIO_Init 用结构体的参数初始化GPIO口(需要定义一个结构体变量)
读写
开始coding:
点亮一个LED(低电平点亮:短脚插到PA0 长脚插到负极 反之则为高电平点亮):
int main
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE)
//由于点亮A0口LED所以选择GPIOA
GPIO_InitTypeDef GPIO_InitStructure //定义结构体变量
GPIO_InitStructure .GPIO_Mode=GPIO_Mode_Out_PP;//推挽输出
GPIO_InitStructure .GPIO_Pin=GPIO_Pin_0;//p0
GPIO_InitStructure .GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOA,&GPIO_InitStructure );//初始化外设
GPIO_ResetBits(GPIOA,GPIO_Pin_0);// 低电平点亮
GPIO_SetBits(GPIOA,GPIO_Pin_0);// 高电平熄灭
GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_RESET);//低电平点亮
GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_SET);//高电平熄灭
}
LED闪烁:
#include“stm32f10x.h”
#include"Delay.h"
int main
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE)
GPIO_InitTypeDef GPIO_InitStructure //定义结构体变量
GPIO_InitStructure .GPIO_Mode=GPIO_Mode_Out_PP;//推挽输出
GPIO_InitStructure .GPIO_Pin=GPIO_Pin_0;//p0
GPIO_InitStructure .GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOA,&GPIO_InitStructure );//初始化外设
while(1)
{
GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_RESET);//低电平点亮
Delay_ms(500);//调用自己添加的Delay函数
GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_SET);//高电平熄灭
Delay_ms(500);
}
}