手机建立网站,网站都有备案号吗,单县住房和城乡建设局网站,做婚礼策划的网站今天#xff0c;记录一下stm32如何点亮一个LED,程序本身十分简单#xff0c;但主要是学习编程的格式。
led.h
#ifndef _led_H
#define _led_H#include system.h/* LED时钟端口、引脚定义 */
#define LED1_PORT GPIOB
#define LED1_PIN GPIO_Pin_5
#d… 今天记录一下stm32如何点亮一个LED,程序本身十分简单但主要是学习编程的格式。
led.h
#ifndef _led_H
#define _led_H#include system.h/* LED时钟端口、引脚定义 */
#define LED1_PORT GPIOB
#define LED1_PIN GPIO_Pin_5
#define LED1_PORT_RCC RCC_APB2Periph_GPIOB#define LED1 PBout(5) //通过位带操作可直接对某位进行写1写0 void LED_Init(void);#endif这是led.h的头文件一定要着重看格式。 首先整体结构如下所示。 #ifndef _led_H #define _led_H ········ #endif 其次是对要用到的引脚的宏定义做到清晰明了。 /* LED时钟端口、引脚定义 */ #define LED1_PORT GPIOB #define LED1_PIN GPIO_Pin_5 #define LED1_PORT_RCC RCC_APB2Periph_GPIOB #define LED1 PBout(5) 最后是对函数的声明。 void LED_Init(void); led.c
#include led.h/*******************************************************************************
* 函 数 名 : LED_Init
* 函数功能 : LED初始化函数
* 输 入 : 无
* 输 出 : 无
*******************************************************************************/
void LED_Init(void)
{GPIO_InitTypeDef GPIO_InitStructure;//定义结构体变量RCC_APB2PeriphClockCmd(LED1_PORT_RCC,ENABLE);GPIO_InitStructure.GPIO_PinLED1_PIN; //选择你要设置的IO口GPIO_InitStructure.GPIO_ModeGPIO_Mode_Out_PP; //设置推挽输出模式GPIO_InitStructure.GPIO_SpeedGPIO_Speed_50MHz; //设置传输速率GPIO_Init(LED1_PORT,GPIO_InitStructure); /* 初始化GPIO */GPIO_SetBits(LED1_PORT,LED1_PIN); //将LED端口拉高熄灭所有LED}在led.c文件中一定要包含之前定义的led.h文件。 在led.c文件中对之前在led.h中声明过的函数进行实现。 这是一个十分典型的GPIO的初始化程序。 首先先定义一个实例结构体变量。 然后将LED所在端口的时钟使能。 对结构体变量内部的成员一一赋值。 然后利用GPIO_Init()函数对LED所在的端口与结构体变量对应起来。因为结构体变量只指定了对应的引脚号而不知道这个引脚是属于GPIOA组的还是GPIOB组的