内容纲要
15讲 初始STM32固件库、新建工程-库函数版、GPIO输出使用固件库点亮LED灯
初识STM32固件库
用EEPROM很少了,现在经常烧写到FLASH 当中
16讲 新建工程-函数库版
- 以STM32F4xx_DSP_StdPeriph_Lib_V1.8.0 为例
建立如下文件夹,以及模板。Project 存放 IAR 或者 Keil 的工程文件。User 存放用户的main 函数以及其它自己编写的程序文件 , Libraries 存放各类库文件以及头文件
- Libraries 文件如下
- 1.CMSIS 库
- 2.STM32F4xx_StdPeriph_Driver 库
- Project 文件夹如下
该文件夹存放工程文件
- 可以再程序中配置 Listings 和Objects 文件输出目录为 工程模板的Objects 与Listings
- 4.User 文件夹如下 以按键LED 灯工程为例
17讲,用固件库点亮LED灯
main.c
#include "stm32f4xx.h" #include "bsp_led.h" int main(void) { /* 在这里添加你自己的程序 */ while(1){ LED_GPIO_Config(); } }
bsp_led.c
/* bsp: board support package 板级支持包*/ #include "bsp_led.h" void delay(unsigned int count) { for(;count !=0;count --){} } void LED_GPIO_Config(void) { /***************以下四步适合所有外设的初始化********/ /*第一步:开GPIO的时钟*/ RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF, ENABLE); /*第二步:定义一个GPIO初始化结构体 */ GPIO_InitTypeDef initGPIO; /*第三步:配置GPIO 初始化结构体的成员*/ initGPIO.GPIO_Pin = GPIO_Pin_6; initGPIO.GPIO_OType = GPIO_OType_PP; initGPIO.GPIO_Mode = GPIO_Mode_OUT; //这里可以设置端口上拉来实现默认关灯的操作。,但是我这里就改为默认算了 initGPIO.GPIO_PuPd = GPIO_PuPd_NOPULL; initGPIO.GPIO_Speed = GPIO_Low_Speed; /*第四步:调用GPIO初始化函数,把配置好的结构体的成员参数写入到函数 */ GPIO_Init(GPIOF, &initGPIO); delay(0xffffff); GPIO_SetBits(GPIOF, GPIO_Pin_6); //置为为1,代表关闭。 delay(0xffffff); GPIO_ResetBits(GPIOF,GPIO_Pin_6); }
bsp_led.h
#ifndef _BSP_LED_H #define _BSP_LED_H #include "stm32f4xx.h" void LED_GPIO_Config(void); #endif /* _BSP_LED_H*/