大家好,欢迎来到IT知识分享网。
如何点亮一颗LED灯
使用STM32CubeMX 初始化
- 设置为串口
PA0(key1) PA1(key2) 设置为输入 (GPIO_Input)
PB8(LED1),PB9(LED2) 设置为输出(GPIO_Output)
3. PB8 PB9 初始设置为高电平
具体实现如下
void HAL_GPIO_Init( GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init ); void HAL_GPIO_WritePin( // GPIO端口号,x可以是A、B、C等。 GPIO_TypeDef *GPIOx, // GPIO引脚编号,例如GPIO_PIN_0表示第0个引脚。 uint16_t GPIO_Pin, GPIO_PinState, // GPIO引脚输出状态,可以是GPIO_PIN_RESET(低电平)或GPIO_PIN_SET(高电平)。 PinState ); void HAL_GPIO_TogglePin( GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin );
下面实现一个按键点亮LED灯
输入(按键):
- KEY1:PA0
- KEY2:PA1
输出(LED灯):
- LED1:PB8
- LED2:PB9
#define KEY_ON 0 #define KEY_OFF 1 uint8_t Key_Scan(GPIO_TypeDef* GPIOx,uint16_t GPIO_Pin) {
if( HAL_GPIO_ReadPin(GPIOx,GPIO_Pin) == GPIO_PIN_RESET) {
/* 按键按下 */ while(HAL_GPIO_ReadPin(GPIOx, GPIO_Pin) == GPIO_PIN_RESET); return KEY_ON; } else {
/* 按键松开 */ return KEY_OFF; } } while (1) {
/* USER CODE END WHILE */ // HAL_GPIO_WritePin(GPIOB, GPIO_PIN_8|GPIO_PIN_9, GPIO_PIN_RESET); if(Key_Scan(GPIOA, GPIO_PIN_0) == KEY_ON) {
HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_8); } if(Key_Scan(GPIOA, GPIO_PIN_1) == KEY_ON) {
HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_9); } /* USER CODE BEGIN 3 */ }
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/155878.html