程序示例
- void LED_Init(void)
- {
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);//开启GPIO时钟
-
- GPIO_InitTypeDef GPIO_InitStructure;//定义GPIO结构体
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//推挽输出
- GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1 | GPIO_Pin_2;//打开的引脚
- GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//配置响应速度
- GPIO_Init(GPIOA, &GPIO_InitStructure);//写入参数
-
- GPIO_SetBits(GPIOA, GPIO_Pin_1 | GPIO_Pin_2);//置高电平
- }
- void LED1_ON(void)
- {
- GPIO_ResetBits(GPIOA, GPIO_Pin_1);
- }
- void LED1_OFF(void)
- {
- GPIO_SetBits(GPIOA, GPIO_Pin_1);
- }
- void LED1_Turn(void)
- {
- if (GPIO_ReadOutputDataBit(GPIOA, GPIO_Pin_1) == 0)//读取输出引脚的电平
- {
- GPIO_SetBits(GPIOA, GPIO_Pin_1);
- }
- else
- {
- GPIO_ResetBits(GPIOA, GPIO_Pin_1);//设置低电平
- }
- }
- void LED2_ON(void)
- {
- GPIO_ResetBits(GPIOA, GPIO_Pin_2);
- }
- void LED2_OFF(void)
- {
- GPIO_SetBits(GPIOA, GPIO_Pin_2);
- }
- void LED2_Turn(void)
- {
- if (GPIO_ReadOutputDataBit(GPIOA, GPIO_Pin_2) == 0)
- {
- GPIO_SetBits(GPIOA, GPIO_Pin_2);
- }
- else
- {
- GPIO_ResetBits(GPIOA, GPIO_Pin_2);
- }
- }
|