OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4798|回复: 6

STM32L0或STM32L4的PAin(0) 位带操作 用什么函数可以替代?

[复制链接]

95

主题

549

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3293
金钱
3293
注册时间
2016-1-7
在线时间
541 小时
发表于 2022-7-20 11:18:27 | 显示全部楼层 |阅读模式
5金钱
网上说,STM32L0或STM32L4低功耗的芯片不支持位带操作,而我要表示成PAin(0) 用什么函数可以替代?

///////////////////////////////////////////////////////////////////////////////////////////////////////////
如果是输出的话:PAout(0),

可以用以下替代:
#define PAout(x)   do{ x ? \

                      HAL_GPIO_WritePin(GPIO_PORTA, GPIO_PINA, GPIO_PIN_SET) : \
                      HAL_GPIO_WritePin(GPIO_PORTA, GPIO_PINA, GPIO_PIN_RESET); \
                  }while(0)   
//////////////////////////////////////////////////////////////////////////////////////////////////////////

而我要表示输入PAin(x) ,这个用什么函数可以替代?哪位大虾帮看下,具体怎么表示。谢谢!!!

最佳答案

查看完整内容[请看2#楼]

这跟寄存器特性有关,L系列的不适用了
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

11

主题

2131

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4729
金钱
4729
注册时间
2015-1-10
在线时间
591 小时
发表于 2022-7-20 11:18:28 | 显示全部楼层
这跟寄存器特性有关,L系列的不适用了
回复

使用道具 举报

95

主题

549

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3293
金钱
3293
注册时间
2016-1-7
在线时间
541 小时
 楼主| 发表于 2022-7-20 11:27:32 | 显示全部楼层
是否只能用:#define PA0        HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0)

但不能给PA0赋值啊!
回复

使用道具 举报

2

主题

452

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4295
金钱
4295
注册时间
2018-5-14
在线时间
930 小时
发表于 2022-7-20 13:12:00 | 显示全部楼层
#define PAin(x) HAL_GPIO_ReadPin(GPIOA,x)

然后使用就是
uint8_t pin_val;
pin_val=PAin(GPIO_Pin_0);
回复

使用道具 举报

54

主题

349

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1044
金钱
1044
注册时间
2022-4-20
在线时间
373 小时
发表于 2022-7-20 13:19:24 | 显示全部楼层
PAin不是输入口吗,你操作他干嘛
回复

使用道具 举报

54

主题

349

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1044
金钱
1044
注册时间
2022-4-20
在线时间
373 小时
发表于 2022-7-20 13:19:50 | 显示全部楼层
驭剑的秘密 发表于 2022-7-20 13:19
PAin不是输入口吗,你操作他干嘛

单纯问问这个操作的作用是什么
又菜又爱指点
回复

使用道具 举报

95

主题

549

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3293
金钱
3293
注册时间
2016-1-7
在线时间
541 小时
 楼主| 发表于 2022-7-21 10:58:11 | 显示全部楼层
驭剑的秘密 发表于 2022-7-20 13:19
单纯问问这个操作的作用是什么

在移植lora例程到低功耗stmm32l0板子上,例程有定义:

#define LORA_AUX  PAin(4)    //LORA模块状态引脚


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-26 15:02

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表