1.点亮LED—基于CT117E开发板的STM32库函数编程

库文件stm32f10x_gpio.c和stm32f10x_rcc.c,应添加到工程里。
这是 #include "led.h" 里面的内容,可以直接用LED0—LED15
  
  
  1. #ifndef __LED_H
  2. #define __LED_H
  3. //CT117E LED
  4. #define LED0 GPIO_Pin_8
  5. #define LED1 GPIO_Pin_9
  6. #define LED2 GPIO_Pin_10
  7. #define LED3 GPIO_Pin_11
  8. #define LED4 GPIO_Pin_12
  9. #define LED5 GPIO_Pin_13
  10. #define LED6 GPIO_Pin_14
  11. #define LED7 GPIO_Pin_15
  12. #define LEDALL GPIO_Pin_All
  13. #endif
随后对LED 相关GPIO引脚工作模式及时钟进行配置,即LED的初始化,所以这个函数设为Led_Init()。
  
  
  1. void LED_Init(void)
  2. {
  3. GPIO_InitTypeDef GPIO_InitStructure;//GPIO结构体复用定义
  4. //使能GPIOC和GPIOD的外设时钟
  5. RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
  6. RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE);
  7. GPIO_InitStructure.GPIO_Pin = LED0 |LED1 | LED2 | LED3 | LED4 | LED5 | LED6 | LED7;//端口配置
  8. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//推挽输出
  9. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;//IO口速度配置
  10. GPIO_Init(GPIOC, &GPIO_InitStructure);端口初始化
  11. GPIO_SetBits(GPIOC,LED1);//初始化应设为输出高电平
  12. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;//锁存引脚D2端口配置
  13. GPIO_Init(GPIOD, &GPIO_InitStructure);
  14. }
1. 在配置STM32外设的时候,首先要使能其时钟。GPIO是挂载在APB2总线上的外设,在固件库中对挂载在APB2总线上的外设时钟使能通过RCC_APB2PeriphClockCmd()实现。
 
2.端口配置,用到结构体里的.GPIO_Pin这个类。
 
3.设置输出方式为推挽输出,GPIO_Mode = GPIO_Mode_Out_PP
 
4.设置IO速度
 
5.端口初始化
 
开灯LED1则  GPIO_SetBits(GPIOC,LED1);关掉 GPIO_ResetBits(GPIOC,LED1);
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值