基于STM32F030单片机+FreeRTOS系统
记得#include "stm32f0xx_conf.h" 这个文件
void One_LED(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_AHBPeriphClockCmd( RCC_AHBPeriph_GPIOC, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12 ;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP ;
GPIO_Init(GPIOC, &GPIO_InitStructure);
GPIO_ResetBits(GPIOC,GPIO_Pin_12);//初始化低 不亮
}
- 定义一个结构体:GPIO_InitTypeDef GPIO_InitStructure;
- 开启GPIOC的时钟:RCC_AHBPeriphClockCmd( RCC_AHBPeriph_GPIOC, ENABLE);
- 分别对GPIO的各个子功能定义:
- 引脚:GPIO_Pin
- 模式:GPIO_Mode
- 响应速度:GPIO_Speed
- 输出类型:GPIO_OType
- 设置上下拉输出:GPIO_PuPd
- 把设置好的结构体变量放到GPIOC中:GPIO_Init(GPIOC, &GPIO_InitStructure);
- 最好对IO设置一下初始化状态:GPIO_ResetBits(GPIOC,GPIO_Pin_12); 输出低电平/GPIO_SetBits(GPIOC,GPIO_Pin_12); 输出高电平
提醒:在不同的应用中,具体初始化都不相同,根据自己的积累更改初始化~