刚开始接触STM32,我想问一下如果我想设置标志位怎么设置。我知道在单片机里面是 bit f;就可以了。

2025-03-26 09:15:45
推荐回答(4个)
回答1:

可以用一个位来操作,但是在32位系统里,这样做程序效率不高,远不如直接用一个32位变量操作来的快(少于32位的操作,都要在汇编层面上考虑不能溢出,所以会耗费不必要的语句),而且对于32来说,ram的大小多数时候都是远远超过需要的,不想51只有区区几百个字节。

其实在STM32里,系统本身也使用了一些地址直接指向位,即操作某个寄存地址,虽然有32位的空间,但有用的只有1位,叫做:位带(bit-band)操作 具体的可以自己百度一下

回答2:

STM32 没有bit的概念,设立标志就用u8 f=0;或u8 f=1;吧,这样最简单!

回答3:

typedef enum {FALSE = 0, TRUE = !FALSE} bool;
用bool 来代替bit

回答4:

PPP_GetFlagStatus ppp值得是