嵌出式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
	}
 }