将函数写入gpio.c中
void Led_Pro(uint8_t Led)
{
HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2,GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_All,GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2,GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2,GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOC, Led<<8,GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2,GPIO_PIN_RESET);
}
将函数引用在gpio.h中
main函数中使用
/* USER CODE BEGIN Prototypes */
void Led_Pro(uint8_t Led);
/* USER CODE END Prototypes */
8个灯使用8位二进制数表示,1111 1111代表所有灯全亮代数为255,0000 0001代表第一个灯亮代数为1,0000 0010代表第二个灯亮代数为2以此类推,可得到数学公式:
定义x∈[1,8]
让x个灯亮Led_pro(2x);
前四个灯亮为0000 1111代数15。
Led_Pro(0);//全灭
Led_Pro(1);//亮1
Led_Pro(2);//亮2
Led_Pro(255);//全亮