#include "led.h"
#include "stm32f10x.h"
void LED_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure; //定义一个GPIO初始化结构体
// RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE); //PB口时钟使能
// RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOG,ENABLE); //PG口时钟使能
// RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOF,ENABLE); //PF口时钟使能
// RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE); //PC口时钟使能
// RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); //PE口时钟使能
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOG | RCC_APB2Periph_GPIOF | RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOA,ENABLE);
这里五行代码用一行就可以了,用 | ,体现了算法的精妙!
//下面的用到的IO口工作模式和速度都是一样的,所以设置一次就行
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13; //设置第13管脚
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //设置速度50MHz
GPIO_Init(GPIOB, &GPIO_InitStructure); //调用GPIO初始化函数
GPIO_SetBits(GPIOB, GPIO_Pin_13); //设置PB13管脚输出高电平
//GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; //设置第0管脚
//GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //设置速度50MHz
GPIO_Init(GPIOG, &GPIO_InitStructure); //调用GPIO初始化函数
GPIO_SetBits(GPIOG, GPIO_Pin_0); //设置PG0管脚输出高电平
//GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_14; //设置第14管脚
//GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //设置速度50MHz
GPIO_Init(GPIOF, &GPIO_InitStructure); //调用GPIO初始化函数
GPIO_SetBits(GPIOF, GPIO_Pin_14); //设置PF14管脚输出高电平
//GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12; //设置第12管脚
//GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //设置速度50MHz
GPIO_Init(GPIOF, &GPIO_InitStructure); //调用GPIO初始化函数
GPIO_SetBits(GPIOF, GPIO_Pin_12); //设置PF12管脚输出高电平
//GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2; //设置第2管脚
//GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //设置速度50MHz
GPIO_Init(GPIOB, &GPIO_InitStructure); //调用GPIO初始化函数
GPIO_SetBits(GPIOB, GPIO_Pin_2); //设置PB2管脚输出高电平
//GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; //设置第0管脚
//GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //设置速度50MHz
GPIO_Init(GPIOB, &GPIO_InitStructure); //调用GPIO初始化函数
GPIO_SetBits(GPIOB, GPIO_Pin_0); //设置PB0管脚输出高电平
//GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4; //设置第4管脚
//GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //设置速度50MHz
GPIO_Init(GPIOC, &GPIO_InitStructure); //调用GPIO初始化函数
GPIO_SetBits(GPIOC, GPIO_Pin_4); //设置PC0管脚输出高电平
//GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6; //设置第5管脚
//GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //设置速度50MHz
GPIO_Init(GPIOA, &GPIO_InitStructure); //调用GPIO初始化函数
GPIO_SetBits(GPIOA, GPIO_Pin_6); //设置PA6管脚输出高电平
}
上一篇:跑马灯实验-寄存器版
下一篇:STM32f407与STM32F103 串口采用DMA收发数据配置方法的异同
推荐阅读最新更新时间:2024-03-16 16:24
- 热门资源推荐
- 热门放大器推荐
设计资源 培训 开发板 精华推荐
- 微灵医疗李骁健:脑机接口技术正在开启意识与AI融合的新纪元
- USB Type-C® 和 USB Power Delivery:专为扩展功率范围和电池供电型系统而设计
- 景昱医疗耿东:脑机接口DBS治疗技术已实现国产替代
- 首都医科大学王长明:针对癫痫的数字疗法已进入使用阶段
- 非常见问题解答第223期:如何在没有软启动方程的情况下测量和确定软启动时序?
- 兆易创新GD25/55全系列车规级SPI NOR Flash荣获ISO 26262 ASIL D功能安全认证证书
- 新型IsoVu™ 隔离电流探头:为电流测量带来全新维度
- 英飞凌推出简化电机控制开发的ModusToolbox™电机套件
- 意法半导体IO-Link执行器电路板为工业监控和设备厂商带来一站式参考设计
- Melexis采用无磁芯技术缩小电流感测装置尺寸