GPIOx->BSRR = (((uint32_t)0x01) << pinpos);

GPIOx->BSRR=(((uint32_t)0x01)<<pinpos)中=是什么意思啊,为什么有这个等号,看到的程序所有都有这个=,是固定格式吧<<是左移符号,GP... GPIOx->BSRR = (((uint32_t)0x01) << pinpos)中=是什么意思啊,为什么有这个等号,看到的程序所有都有这个=,是固定格式吧
<<是左移符号,GPIOA->ODR|=1<<5,PA.5输出高,不改变其他位;这个<<是什么意思,好像不是左移吧
展开
 我来答
匿名用户
2023-07-27
展开全部
0x01只是8位,是00000001,但是GPIOx_BSRR是个32位的寄存器,所以要拓展转成32位的 即0x0001,转完就左移pinpos这个变量值的这么多位。(刚刚看到的回答,学习一下)
第二个这个就是左移,GPIOA->ODR是控制GPIOA组IO口的输出电平高低,1就是拉高了,但是GPIOA->ODR|=1只是PA.1拉高而已,因此要将值左移5位才能拉高PA.5。(一些自己浅浅的理解)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式