嵌出式srtm32学习第一天
基于库函数的开发模板的搭建,点亮一个小灯灯

叫外设的函数放在HARDWARE中,本次写的是点亮LED,故里面放入的则是LED.H和LED.C
#ifndef __LED_H //防止重复定义
#define __LED_H
#include "sys.h"
#define LED0 PBout(5)// PB5 宏定义 LED0就相当于PB5
#define LED1 PEout(5)// PE5 同上
void LED_Init(void);//初始化
#endif
在LED.C文件中写初始化函数即可
#include “led.h”
//初始化PB5和PE5为输出口.并使能这两个口的时钟
//LED IO初始化
一般步骤就是
先定义一个初始化的结构体指针用于初始化的时候使用
第二部就是给需要使用的端口进行使能
然后开始开始配置其端口的基本属性 如 引脚是第几个 什么输出或者输入模式 速度 是否需要先给其复制为高低电平
```css
void LED_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;//定义一个结构体指针变量,因为初始化的时候需要用到
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOE, ENABLE); //使能PB,PE端口时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; //LED0-->PB.5 端口配置
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度为50MHz
GPIO_Init(GPIOB, &GPIO_InitStructure); //根据设定参数初始化GPIOB.5
GPIO_SetBits(GPIOB,GPIO_Pin_5); //PB.5 输出高
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; //LED1-->PE.5 端口配置, 推挽输出
GPIO_Init(GPIOE, &GPIO_InitStructure); //推挽输出 ,IO口速度为50MHz
GPIO_SetBits(GPIOE,GPIO_Pin_5); //PE.5 输出高
}
主函数
int main(void)
{
delay_init(); //延时函数初始化
LED_Init(); //初始化与LED连接的硬件接口
while(1)
{
LED0=0;//关
LED1=1;//开
delay_ms(300); //延时300ms
LED0=1;
LED1=0;
delay_ms(300); //延时300ms
}
}