请问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条回答
UserMen
1楼-- · 2019-07-14 20:04
感谢版主的解说,我现在才知道可以写GPIO_PIN_All
biao66
2楼-- · 2019-07-14 23:01
亲爱的娜娜 发表于 2019-1-30 16:18
可以all:
GPIO_PIN_All
也可以或:

这样子用HAL_GPIO_WritePin(GPIOC,GPIO_PIN_All,x)会有下面的警告的,说参数类型不匹配,参数好像只能是0/1的吧
warning:  #188-D: enumerated type mixed with another type
biao66
3楼-- · 2019-07-15 00:41
刚用HAL库,发现没有了Write_GPIO();所以就找到了GPIO_PIN_All
biao66
4楼-- · 2019-07-15 04:35
 精彩回答 2  元偷偷看……
亲爱的娜娜
5楼-- · 2019-07-15 05:16
biao66 发表于 2019-1-30 16:38
这样子用HAL_GPIO_WritePin(GPIOC,GPIO_PIN_All,x)会有下面的警告的,说参数类型不匹配,参数好像只能是0/1的吧
warning:  #188-D: enumerated type mixed with another type

发代码看下
苏州名之卓
6楼-- · 2019-07-15 06:52
既然写引脚的时候可以用"|"来连接,那么也可以用“GPIO_PIN_All”,所以应该可以的,前提是前面引脚都要初始化为输出。
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_All, GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_All, GPIO_PIN_SET);

一周热门 更多>