请问HAL库可以写一列IO口值的函数

2019-07-14 14:18发布

标准库就有这个可以写一列IO口值的函数:void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal);

HAL库的是没有的吗?

HAL库只找到这个位写函数:void HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState);

可不可以把这个参数赋值为 GPIO_PIN_All的?

要自己用寄存器写一个?一个一个IO的赋值?这样效率很低下的吧

谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
17条回答
biao66
2019-07-16 07:41
苏州名之卓 发表于 2019-1-30 18:24
你的意思是给GPIOC端口赋值0X00F0, 这样赋值不行的,0X00F0 !=0 所以作为 “1”来处理,
这样你GPIOC端口所有的输出都是"1";如果你要按你的意愿来做,只有直接写寄存器。自己做个函数吧。网上例子挺多的。

void IO_Write_DataBit(uchar data)
{
  
  GPIOC->ODR |= 0xff;  
  GPIOC->ODR &= data;
   
}
我也是这样想的,直接操作寄存器算了,上面那个函数应该可以实现了吧

一周热门 更多>