1,开启PA0~PA7 八个LED灯//==================================低八位
void LED_display(uint8_t Pin)
{
HAL_GPIO_WritePin(GPIOA,0xff,GPIO_PIN_SET);//========================1为有效,0无效
HAL_GPIO_WritePin(GPIOA,Pin,GPIO_PIN_RESET);
}
uint8_t led_num=(uint8_t)-1;
uint8_t led_ctrl;
uint32_t led_time=0;
void LED_proc()//=============================循环程序
{
if(uwTick-led_time<200) return;
led_time=uwTick;
led_ctrl&=~0x01<<(led_num);
led_num=(led_num+1)%8;
led_ctrl^=0x01<<(led_num);
LED_display(led_ctrl);
}
//===================================如果是PB8~PB15//============================高八位
void LED_display(uint8_t Pin)
{
HAL_GPIO_WritePin(GPIOB,0xff00,GPIO_PIN_SET);//===================1111111100000000用高八位,对应着PB8~PB15
HAL_GPIO_WritePin(GPIOB,Pin<<8,GPIO_PIN_RESET);
}
例如:
0x01=>00000000 00000001 将其左移八位结果为:00000001 0000000,前八位有效
https://www.runoob.com/w3cnote/bit-operation.html