STM32F103ZET6使用库函数点亮LED灯
目录
1.硬件设计
2.软件设计
2.1创建库函数模板
2.2 了解GPIO库函数和时钟函数用法
2.3代码文件
3.实验现象
1.硬件设计

此 D1 发光二极管阴极是连接在 STM32 的 PC0 管脚上,D2 指示灯阴极连接在 PC1 管脚上,其他 LED 管脚以此类推。 如果要使 D1 指示灯亮,只需要控制 PC0 管脚输出低电平,如果要使 D1 指示灯灭, 只需控制 PC0 输出高电平。
2.软件设计
2.1创建库函数模板
创建库函数工程模板_stm3210x-eval_旭日初扬的博客-CSDN博客
https://blog.csdn.net/RONG_YAO/article/details/113793216?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168257987416800217213722%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=168257987416800217213722&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-113793216-null-null.142%5Ev86%5Einsert_down1,239%5Ev2%5Einsert_chatgpt&utm_term=%E5%88%9B%E5%BB%BA%E5%BA%93%E5%87%BD%E6%95%B0%E6%A8%A1%E6%9D%BF&spm=1018.2226.3001.4187 参考上述博客创建库函数模板,再新建一个APP文件夹,用于存放开发板上所有外围器件的驱动程序,此时我们要操作的外围器件是LED,故在APP目录下新建LED.c和LED,h文件,通常 xxx.c 文件用于存放编写的驱动程序,xxx.h 文件用于存放 xxx.c 内的 stm32 头文件、管脚定义、全局变量声明、函数声明等内容。
2.2 了解GPIO库函数和时钟函数用法
可以在stm32固件库手册查看GPIO库函数和时钟函数,了解相关用法






2.3代码文件
在 led.c 文件内编写如下代码
#include "led.h"/*******************************************************************************
* 函数名 : LED_Init
* 函数功能 : LED初始化函数
*******************************************************************************/
void LED_Init()
{GPIO_InitTypeDef GPIO_InitStructure;//定义结构体变量RCC_APB2PeriphClockCmd(LED1_PORT_RCC,ENABLE);GPIO_InitStructure.GPIO_Pin=LED1_PIN; //选择要设置的IO口GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP; //设置推挽输出模式GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; //设置输出传输速率GPIO_Init(LED1_PORT,&GPIO_InitStructure); /* 初始化GPIO */GPIO_SetBits(LED1_PORT,LED1_PIN); //将LED端口拉高,熄灭所有LED
}
在 led.h 文件内编写如下代码
#ifndef _led_H
#define _led_H#include "stm32f10x.h"/* LEDʱÖӶ˿ڡ¢Òý½Å¶¨Òå */
#define LED1_PORT GPIOC
#define LED_PIN GPIO_Pin_0
#define LED1_PORT_RCC RCC_APB2Periph_GPIOCvoid LED_Init(void);#endif
主函数文件main.c
#include "stm32f10x.h"
#include "led.h"
//延时函数
void delay(u32 i)
{while(i--);
}//主函数
int main()
{LED_Init();while(1){GPIO_ResetBits(LED1_PORT,LED1_PIN);//µãÁÁDS0delay(6000000);GPIO_SetBits(LED1_PORT,LED1_PIN);delay(6000000);}
}
3.实验现象
编译函数以后可以看到LED模块上的D1指示灯点亮

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
