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

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

[复制链接]
STMCU小助手 发布时间:2022-4-23 16:24
由于STM32没有位处理,所以STM32不像51单片机一样支持BIT变量,下面教大家怎么在STM32中实现位变量
4 R9 [+ _& P) O7 s" t) H+ `0 O7 I3 h1、首先定义一个结构体
  1. typedef struct
    6 y! [, |8 ]2 z* T
  2. {
    . y5 @6 b) m7 S( x2 i- R1 z
  3.     unsigned char  b0:1; 3 P& h; ~- `6 a) {
  4.     unsigned char  b1:1; % x% G" z+ g4 e6 X
  5.     unsigned char  b2:1; % a+ u' d0 a7 i8 W! E, d5 z
  6.     unsigned char  b3:1;
    6 q: Y. j4 K0 F4 R/ F8 k- [
  7.     unsigned char  b4:1;
    , K) Y/ y/ U! E& g) S: z9 k  p, ^9 l
  8.     unsigned char  b5:1;
    6 z3 _9 t- `+ w3 n
  9.     unsigned char  b6:1;2 I. c) d3 f* m, N+ C! X2 F% _0 [" e
  10.     unsigned char  b7:1;
    8 D8 R) w. o* A% E$ x
  11. } BIT8;
复制代码
, p! |8 ^  q$ m) S0 z6 P+ q9 U0 {
2、然后宏定义就行
+ B( q6 ]) s. C- g  _9 k
' m* P* b6 A+ W9 J' b% P' c4 ?' i
  1. unsigned char addrNewCode;
    9 i4 ~# y1 c0 G$ z2 g5 n* D% B
  2. - F  v# v* Y! F3 U- O' h* W
  3. #define         addrNewBit0        (((BIT8*) & addrNewCode) -> b0)$ T. n+ N! z6 p" ?, D  h2 J/ Z+ o8 ^
  4. #define         addrNewBit1        (((BIT8*) & addrNewCode) -> b1)
    : I6 W3 R3 r  m: U
  5. #define         addrNewBit2        (((BIT8*) & addrNewCode) -> b2)) _! C* F8 S* ?# e! m
  6. #define         addrNewBit3        (((BIT8*) & addrNewCode) -> b3)2 F) p) H+ j/ Q: [
  7. #define            addrNewBit4        (((BIT8*) & addrNewCode) -> b4)
    6 F9 ]) E/ n2 P, f6 p- L
  8. #define         addrNewBit5        (((BIT8*) & addrNewCode) -> b5)2 T! `. k! l& S+ V  }, \* j
  9. #define         addrNewBit6        (((BIT8*) & addrNewCode) -> b6)
    1 u1 r+ f$ I" w: H$ h% j$ k9 g9 |1 [
  10. #define         addrNewBit7        (((BIT8*) & addrNewCode) -> b7)
复制代码
# L; F! M1 `$ j; p
3、这样的话addrNewBit0 等等就能当成位变量使用了
8 Y' p& L( }4 F) K. ]6 q; F; f4 ^  X# P

: V. S- u; Z% _8 a* M2 B/ d) k
收藏 评论0 发布时间:2022-4-23 16:24

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版