LED闪烁(逐代码分析)

基本函数框架

#include"stm32f10x.h"

int main(void)

{

        while(1)

        {

        }

}

库函数初认识

rcc函数,常见有三

不难发现 有两个参数 第一个是选择外设 第二个是使能或失能(ENABLE/DISABLE)

GPIO函数

复位

初始化

GPIO_Init 用结构体的参数初始化GPIO口(需要定义一个结构体变量)

读写

LED闪烁(逐代码分析)_第1张图片

开始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);

                }

       

}

你可能感兴趣的:(单片机,嵌入式硬件)