STM32_实验3_控制RGB灯

HAL_Delay 是 STM32 HAL 库中的一个函数,用于在程序中产生一个指定时间的延迟。这个函数是基于系统滴答定时器(SysTick)来实现的,因此可以实现毫秒级的延迟。

void HAL_Delay(uint32_t Delay);

 配置引脚:

点击 1 到 IOC 配置页面。
点击 2 配置引脚为GPIO_Output。
点击 3 查看 GPIO 配置。
点击 4 配置 PE7。
点击 5 配置高电平。
点击 6 重新生成代码。

 为什么配置高电平?
        为什么这里配置高电平,配置 GPIO 引脚为高电平或低电平,取决于应用场景和你希望通过 GPIO 引脚实现的功能。这里的 LED 灯从原理图看是共阳极也就是三中颜色的LED灯的阳极都已经接了 VCC ,另一端接的是 GPIO 引脚,这时候我们配置高电平是为了让 LED 在默认情况下保持关闭状态。这在实际应用中是一个常见的设计策略。当你想点亮 LED 时,需要将 GPIO 引脚配置为低电平(即 GPIO_PIN_RESET),此时会有电流流过 LED,LED 会发光。

HAL_GPIO_WritePin 函数:

void HAL_GPIO_WritePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState);

参数说明

        GPIOx: 这是一个 GPIO 端口基地址,例如 GPIOA, GPIOB, GPIOC 等等。这些端口由芯片的外设寄存器定义。

        GPIO_Pin: 这是 GPIO 引脚号,你可以使用 HAL 库定义的宏,例如 GPIO_PIN_0, GPIO_PIN_1, GPIO_PIN_5 等等,用来指定要操作的引脚。

        PinState: 这是要设置的引脚状态,它是一个枚举类型 GPIO_PinState,可以取以下两个值:

        1.GPIO_PIN_SET: 设置引脚为高电平。
        2.GPIO_PIN_RESET: 设置引脚为低电平。

	  //实验3
	  HAL_GPIO_WritePin(GPIOE, GPIO_PIN_7, GPIO_PIN_RESET);    /* �???红灯 */
	  printf("red\n");
	  HAL_Delay(1000); // 延时1秒,避免过快发�??
	  // �??? GPIOA �??? 5 号引脚设置为高电�???
	  HAL_GPIO_WritePin(GPIOE, GPIO_PIN_7, GPIO_PIN_SET);		/* 关红�??? */
	  HAL_Delay(1000); // 延时1秒,避免过快发�??

	  HAL_GPIO_WritePin(GPIOE, GPIO_PIN_8, GPIO_PIN_RESET);    /* �??绿灯 */
	  printf("red\n");
	  HAL_Delay(1000); // 延时1秒,避免过快发�??
	  // �??? GPIOA �??? 5 号引脚设置为高电�???
	  HAL_GPIO_WritePin(GPIOE, GPIO_PIN_8, GPIO_PIN_SET);		/* 关绿�??? */
      HAL_Delay(1000); // 延时1秒,避免过快发�??

	  HAL_GPIO_WritePin(GPIOE, GPIO_PIN_9, GPIO_PIN_RESET);    /* �???蓝灯 */
	  printf("red\n");
	  HAL_Delay(1000); // 延时1秒,避免过快发�??
	  // �??? GPIOA �??? 5 号引脚设置为高电�???
	  HAL_GPIO_WritePin(GPIOE, GPIO_PIN_9, GPIO_PIN_SET);		/* 关蓝�??? */
	  HAL_Delay(1000); // 延时1秒,避免过快发�??

上一篇:【C++基础知识——C++ 头文件中能用std::cout输出信息吗?】


下一篇:uiautomatorviewer安卓9以上正常使用及问题处理