你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】STM32库函数开发跑马灯[控制LED灯]

[复制链接]
STMCU小助手 发布时间:2022-5-9 19:00
前言
配置GPIO引脚前先查看板子原理图,LED配置在哪个IO口,本篇以正点原子、STM32F103RCT6为例。

LED灯我们主要用到的固件库文件是:
stm32f10x_gpio.c /stm32f10x_gpio.h
stm32f10x_rcc.c/stm32f10x_rcc.h
misc.c/ misc.h
stm32f10x_usart /stm32f10x_usart.h
也可把外设固件库全部加入到工程,方便延伸。

一、创建

HD(0INUZD3WI4A~I_S2G0GQ.png
86580b9f828e424b9792a251543daa65.png

二、代码部分
1.main.c
  1. int main(void)
  2. {        
  3.         delay_init();                     //延时函数初始化         
  4.         LED_Init();                          //初始化与LED连接的硬件接口
  5.         while(1)
  6.         {
  7.                 GPIO_ResetBits(GPIOA,GPIO_Pin_8); //LED0输出低
  8.                 GPIO_SetBits(GPIOD,GPIO_Pin_2);//LED1输出高
  9.                 delay_ms(1000);     //延时1000ms闪一次
  10.                 GPIO_SetBits(GPIOA,GPIO_Pin_8);//LED0输出高
  11.                 GPIO_ResetBits(GPIOD,GPIO_Pin_2);//LED1输出低
  12.                 delay_ms(1000);
  13.         }
  14. }
复制代码

2.led.c
  1. void LED_Init(void)
  2. {

  3. GPIO_InitTypeDef  GPIO_InitStructure;
  4.          
  5. RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOD, ENABLE);         //使能PB,PE端口时钟
  6.         
  7. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;                                 //LED0-->PB.5 端口配置
  8. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;                  //推挽输出
  9. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;                 //IO口速度为50MHz
  10. GPIO_Init(GPIOA, &GPIO_InitStructure);                                         //根据设定参数初始化GPIOB.5
  11. GPIO_SetBits(GPIOA,GPIO_Pin_8);                                                 //PB.5 输出高

  12. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;                             //LED1-->PE.5 端口配置, 推挽输出
  13. GPIO_Init(GPIOD, &GPIO_InitStructure);                                           //推挽输出 ,IO口速度为50MHz
  14. GPIO_SetBits(GPIOD,GPIO_Pin_2);                                                  //PE.5 输出高
  15. }
复制代码

3.led.h
  1. #ifndef __LED_H
  2. #define __LED_H         
  3. #include "gpio.h"


  4. #define LED0 PAout(8)        // PA8
  5. #define LED1 PDout(2)        // PD2        

  6. void LED_Init(void);//初始化

  7.                                                      
  8. #endif
复制代码




收藏 评论0 发布时间:2022-5-9 19:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版