假如
GPIO_SetBits(GPIOC,GPIO_Pin_12);
GPIO_SetBits(GPIOC,GPIO_Pin_4);
GPIO_SetBits(GPIOC,GPIO_Pin_5);
在函数内部都GPIO_Pin >> 13后GPIO_Pin 都为0,
那么GPIOx->BSHR = GPIO_Pin;这句最终体现在GPIO_Pin_5,GPIO_Pin_4,GPIO_Pin_12三个IO的操作有任何区别吗?
最终还能达到需要的分别把3个IO设置高吗?
void GPIO_SetBits( GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin )
{
#if defined (CH32F20x_D6)
if((GPIOx == GPIOC) && MCU_Version)
{
GPIO_Pin = GPIO_Pin >> 13;
}
#endif
GPIOx->BSHR = GPIO_Pin;
}