GPIO26寄存器状态的读取

GPIO26寄存器状态的读取

老师你好。这节课的08:45说,

int level = GPIO1->PSR & (1 << 26); 这句话得到的结果只有两种情况,0和非0。


我理解寄存器的第26位只有两种情况,0和1,进行&运算之后,得到的结果也只是0和1,不是0和非0.

return 的时候,应该可以直接return level ; 然后在后面的key_test(void) 的if函数对应更改

if(!is_key_press() 就行了吧

https://img1.sycdn.imooc.com//climg/64d6384809f12f6409260725.jpg

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
中年猿叔 2023-08-11 23:18:27
寄存器的是32bit的,对26位按位与不是0和1。可以自己展开换算一下
  • 提问者 慕粉1805138087 #1

    是呀,32bit,每个bit不就是两种情况嘛,0和1,那这个psr寄存器的32bit里面的第26bit不就是两种情况吗

    2023-08-11 23:38:18
  • 提问者 慕粉1805138087 #2

    我明白了明白了

    2023-08-11 23:40:55
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师