你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】STM32中位变量的实现

[复制链接]
STMCU小助手 发布时间:2022-4-23 16:24
由于STM32没有位处理,所以STM32不像51单片机一样支持BIT变量,下面教大家怎么在STM32中实现位变量
) t( C5 L( G1 b5 ~2 h- M1、首先定义一个结构体
  1. typedef struct
    8 [* A/ D8 H" P8 Y/ o" D
  2. {
    . Z5 I+ p: [- l/ c  u
  3.     unsigned char  b0:1; * m5 e4 c) q4 z* M* V7 g* x7 L
  4.     unsigned char  b1:1;
    8 ]6 p  I2 h# e' K8 Y# p: T  l
  5.     unsigned char  b2:1; 9 O9 d( R  u. Y4 @4 v- h. h: ^' ~- F% g
  6.     unsigned char  b3:1; 6 A( a. P7 p0 [$ w6 h
  7.     unsigned char  b4:1;$ |* U& U8 r# N, H. S+ K
  8.     unsigned char  b5:1;
    % J5 R3 C. e! t/ W" U# \, d# Q4 p' s
  9.     unsigned char  b6:1;( V( u) k, |0 F% m8 N. u) Q
  10.     unsigned char  b7:1;
    & g" M* M- o+ b0 ^8 u7 F
  11. } BIT8;
复制代码

: P1 U" f3 w5 b9 n- S- v2、然后宏定义就行: w! ]$ V. m# y1 t6 ^# P) L

: |! V; v: ^# }) C
  1. unsigned char addrNewCode;- y- u) E$ `  S2 Z* E
  2. ! I4 @( U1 W: S
  3. #define         addrNewBit0        (((BIT8*) & addrNewCode) -> b0)
    ( }. Q1 l' z6 ^- m# w( r
  4. #define         addrNewBit1        (((BIT8*) & addrNewCode) -> b1)
      Z4 q+ W* p4 x1 f' h
  5. #define         addrNewBit2        (((BIT8*) & addrNewCode) -> b2)
    % u: h$ ?5 s. r9 G0 o: q8 c+ ~
  6. #define         addrNewBit3        (((BIT8*) & addrNewCode) -> b3)5 d, a% M5 |  U9 X5 ?  h2 D6 }
  7. #define            addrNewBit4        (((BIT8*) & addrNewCode) -> b4)7 b% m" G+ O5 P' K# J
  8. #define         addrNewBit5        (((BIT8*) & addrNewCode) -> b5)/ C* ]& M% p" f$ L$ F; G) X
  9. #define         addrNewBit6        (((BIT8*) & addrNewCode) -> b6)+ B" ?4 Z$ R+ }8 R7 y( A
  10. #define         addrNewBit7        (((BIT8*) & addrNewCode) -> b7)
复制代码

7 q( ^" w9 m0 x' y, o3、这样的话addrNewBit0 等等就能当成位变量使用了0 d, x' L6 l7 p$ }: [" A
5 m+ \& S! t0 t* L% f1 l

& `! ^* m8 L" r2 K6 _
赞 收藏 评论0 发布时间:2022-4-23 16:24

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版