STM32的端口配置

2019-03-23 17:38发布

最近开始接触STM32,在端口配置的这一部分有个问题想请教一下大家:STM32单片机的端口为什么不能像51或者PIC单片机那样呢,端口需要什么值,直接给端口赋值就是了,为什么还有'|'  '&'以及‘ <<’  '>>'这样的符号的参与呢?看数据手册说,STM32必须以32位字被访问,不明白什么意思,请各位大牛指点一下吧,谢谢!
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
10条回答
huaiqiao
2019-03-24 11:55
“STM32单片机的端口为什么不能像51或者PIC单片机那样呢,端口需要什么值,直接给端口赋值就是了,为什么还有'|'  '&'以及‘ <<’  '>>'这样的符号的参与呢?”

--->如下是我的回答:
1、即便是51,PIC(pic我没有操作过),哪有直接给端口赋值的。我给你举个例子。就拿51来说,P0_0(前好几年的这个地方是P0_0被 sbit 成别的,如LED等等的,这里不必纠结,我只是拿来举例)。P0_0 |= 0x01 。
从C语言的角度你有想过为什么吗?。按位或,就是为了操作需要的那个位,而不影响其他位。

同样滴。如果用到stm32的某个IO,是不是对于寄存器操作来说,位移操作相对比较简单呢。
这个我觉得可能是你对C语言的理解不够深刻吧。

“STM32必须以32位字被访问”

----->这个你看用户手册中,寄存器就知道,32位的寄存器该怎么操作。如果习惯寄存器操作,我觉得不是咬文爵字,而是你要会操作寄存器。这是我个人的看法。

一周热门 更多>