stm32按键控制流水灯的代码
时间: 2023-09-10 10:11:38 浏览: 195
以下是一个简单的STM32按键控制流水灯的代码:
```
#include "stm32f10x.h"
void Delay(__IO uint32_t nCount);
int main(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
uint16_t GPIO_Pin;
/* GPIOC Periph clock enable */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
/* Configure PC0-PC8 in output pushpull mode */
GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3
| GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOC, &GPIO_InitStructure);
/* GPIOA Periph clock enable */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
/* Configure PA0 in input mode */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOA, &GPIO_InitStructure);
/* Loop forever */
while (1)
{
/* Check if button is pressed and turn on LED */
if (GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0))
{
GPIO_SetBits(GPIOC, GPIO_Pin);
Delay(0x3FFFFF);
GPIO_ResetBits(GPIOC, GPIO_Pin);
Delay(0x3FFFFF);
}
else
{
GPIO_ResetBits(GPIOC, GPIO_Pin);
}
}
}
void Delay(__IO uint32_t nCount)
{
while (nCount--)
{
}
}
```
希望对你有所帮助!
阅读全文