请问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
1楼-- · 2019-07-15 11:42
亲爱的娜娜 发表于 2019-1-30 17:30
发代码看下

#define IO_Data_Set(x)        HAL_GPIO_WritePin(GPIOC,GPIO_PIN_All,(x&0x00f0))
biao66
2楼-- · 2019-07-15 15:11
#define IO_Data_Set(x)        HAL_GPIO_WritePin(GPIOC,GPIO_PIN_All,(x&0x00f0))
这样子行不行的
UserMen
3楼-- · 2019-07-15 19:24
 精彩回答 2  元偷偷看……
biao66
4楼-- · 2019-07-15 22:28
UserMen 发表于 2019-1-30 18:04

这个是全部反转GPIOB的值吧
jfuwre
5楼-- · 2019-07-16 02:03
直接右键,看一下代码实现,不就很清楚了嘛!!!!开源,啥叫开源,就是用来看滴!!!
苏州名之卓
6楼-- · 2019-07-16 06:14
biao66 发表于 2019-1-30 17:58
#define IO_Data_Set(x)        HAL_GPIO_WritePin(GPIOC,GPIO_PIN_All,(x&0x00f0))
这样子行不行的

你的意思是给GPIOC端口赋值0X00F0, 这样赋值不行的,0X00F0 !=0 所以作为 “1”来处理,
这样你GPIOC端口所有的输出都是"1";如果你要按你的意愿来做,只有直接写寄存器。自己做个函数吧。网上例子挺多的。

一周热门 更多>