中易网

关于STM32的GPIO赋值,谁来帮我解释一下,谢谢。

答案:3  悬赏:20  
解决时间 2021-01-30 22:40
关于STM32的GPIO赋值,谁来帮我解释一下,谢谢。
最佳答案
因为你写寄存器时,有可能只是操作寄存器中的某一位的值,而其他位不能改变,所以用到了“|”。0x07表示bit0、1、2的值赋1.
追问:temp = GPIOC->ODR;
temp |= 0x00000007;
GPIOC->ODR = temp&(~(leds));
上面这三句话能用下面这句代替吗
GPIOC->ODR |= 0x00000007 & (~(leds));

另外为什么 GPIOC->ODR不能写成 GPIOC.ODR?
追答:首先要明白temp = GPIOC->ODR,
有可能寄存器写( temp | value)和写value是不同的,但如果寄存器的默认值是0的话而且寄存器是第一次被写,那么两者是没区别的。
那三句话当然可以用下面那一个式子代替,但是这样是不好的方式,看起来不舒服。

->和.的用法的细微区别应该要清楚。如果是指针当然要用“ -> ”,而如果是引用结构体当中的某个成员那就得用“ . ”你注意函数形参结构体前是不是“ * ”,那就必须用GPIOC->ODR。
全部回答
可以啊
再看看固件库!讲的很详细的
你的程序这么写还麻烦了,就是想让GPIOC的低三位置1嘛,简单:
GPIOC->BSRR=0x00000007;
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
天下第一媒婆的片头曲歌词
澄城县合疗办电话是?我查的是6786181打不通
去税务办理增加税目带什么资料
五开梦幻西游129蓬莱山封妖遇怪怎么办
人生无处不相逢是什么意思?
一个男生以前喜欢看着女生,现在又不看了,是
勇士对火箭什么时候开打
在哪里能买到八年级上册英语课本?人教版的!
淘宝助理全屏,怎么缩小
我急,光驱不能刻录了!
推荐几首和节日欢歌节奏差不多的歌
我家我一对虎皮鹦鹉已经好几年了,这段时间有
二十四节气的来历?例如 惊蛰打雷 清明下雨 谷
怎样可以在大学申请两人寝室?
英文美丽的女孩怎么写?
推荐资讯
求经典 周星驰电影大话西游 月光宝盒 仙履奇
地运驾校招生处地址在哪,我要去那里办事
求帮验这双鞋子真假
平顶山环保局具体地点在那?
表示凶猛的词语
韩国关于打电话谈恋爱的电影
我想知道封闭式阳台、挑阳台和凹阳台有什么区
急单勿拍是什么意思啊?
我欠人的钱,但人死了该怎么办
知识竞赛队名(四人)口号
我家里有一个路由器,但是有些房间信号不好,
同一个EXCEL里面每次新建的工作表如何统一格
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?