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输出高,不改变其他位;这个<<是什么意思,好像不是左移吧 展开
<<是左移符号,GPIOA->ODR|=1<<5,PA.5输出高,不改变其他位;这个<<是什么意思,好像不是左移吧 展开
1个回答
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。(一些自己浅浅的理解)
第二个这个就是左移,GPIOA->ODR是控制GPIOA组IO口的输出电平高低,1就是拉高了,但是GPIOA->ODR|=1只是PA.1拉高而已,因此要将值左移5位才能拉高PA.5。(一些自己浅浅的理解)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询