发 帖  
原厂入驻New

[经验] 【雨的笔记】STM32F1系列部分程序汇总-----------led、蜂鸣器

2019-12-25 20:24:34  753 STM32F103 笔记本 LED
分享
0
标准库
4种输入输出:
模拟输入       GPIO_Mode_AIN             浮空输入        GPIO_Mode_IN_FLOAtiNG
下拉输入       GPIO_Mode_IPD             上拉输入        GPIO_Mode_IPU
开漏输出       GPIO_Mode_Out_OD      通用推挽输出 GPIO_Mode_Out_PP
复用开漏输出GPIO_Mode_AF_OD        复用推挽        GPIO_Mode_AF_PP
IO口速度
GPIO_Speed_10MHz       GPIO_Speed_2MHz   GPIO_Speed_50MHz

LED
低电平有效、推挽输出、led管脚B5、E5
led.h文件
  1. #IFndef  _LED_H_
  2. #define  _LED_H_

  3. #define  red_led     PBout(5)
  4. #define  green_led  PEout(5)

  5. #include "STM32f10x.h"
  6. #include "sys.h"

  7. void led_init(void);

  8. #endif

复制代码
led.c文件
  1. #include "led.h"

  2. //led初始化
  3. void led_init(void)
  4. {
  5.         GPIO_InitTypeDef GPIO_INIT_LED;
  6.         
  7.         //使能时钟
  8.         RCC_APB2PeriphclockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOE, ENABLE);
  9.         
  10.         GPIO_INIT_LED.GPIO_Mode   =  GPIO_Mode_Out_PP;
  11.         GPIO_INIT_LED.GPIO_Pin       =  GPIO_Pin_5;
  12.         GPIO_INIT_LED.GPIO_Speed  =  GPIO_Speed_50MHz;
  13.         GPIO_Init(GPIOB,&GPIO_INIT_LED);
  14.         GPIO_Init(GPIOE,&GPIO_INIT_LED);
  15.         
  16.         //点亮红绿led
  17.         red_led   = 0;
  18.         green_led = 0;
  19. }
复制代码
beep
高电平有效、推挽输出、beep管脚B8
beep.h
  1. #ifndef  _BEEP_H_
  2. #define  _BEEP_H_

  3. #define  beep   PBout(8)

  4. #include "stm32f10x.h"
  5. #include "sys.h"

  6. void beep_init(void);

  7. #endif
复制代码
beep.c
  1. #include "beep.h"

  2. void beep_init(void)
  3. {
  4.         GPIO_InitTypeDef GPIO_INIT_BEEP;
  5.         
  6.         //使能时钟
  7.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
  8.         
  9.         GPIO_INIT_BEEP.GPIO_Mode  =  GPIO_Mode_Out_PP;
  10.         GPIO_INIT_BEEP.GPIO_Pin      =  GPIO_Pin_8;
  11.         GPIO_INIT_BEEP.GPIO_Speed         =  GPIO_Speed_50MHz;
  12.         GPIO_Init(GPIOB,&GPIO_INIT_BEEP);

  13.         beep = 1;

  14. }
复制代码
main.c
  1. #include "stm32f10x.h"
  2. #include "led.h"
  3. #include "beep.h"

  4. int main(void)
  5. {
  6.    led_init();
  7.    beep_init();
  8.    while(1);
  9. }
复制代码

相关经验

评论

高级模式
您需要登录后才可以回帖 登录 | 注册

发经验
关闭

站长推荐 上一条 /6 下一条

快速回复 返回顶部 返回列表