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

关于STM32位域的操作方法-

[复制链接]
shenxiaolin_mai 发布时间:2018-12-13 09:49
本帖最后由 xiaoshen-372360 于 2018-12-13 09:51 编辑
5 [2 \# z2 Q5 j; g; Q, U
8 x- u8 d) e0 g3 c" U: q. E  `, [& E( T* p; ^
昨天在群里讨论发现了关于STM32 的位域操作,发现特别奇妙,很舒服,在进行IO操作的时候会免去与或非的操作,直接操作一个位就可以了,很方便,尤其是在做IO设备的时候,很容易实现,定义起来也很方便,这是写的一个例子,大家可以参考一下。! ~5 q, f6 M  d7 A3 F8 v: {) b

/ d# Q, f* w% W, P
" O% w" w5 d( ^- c
  1. typedef struct   
    3 g' x& }3 }& z" w  j* v5 U
  2. {
    , p3 v6 S% I4 p* ?. o$ c* U+ }
  3. unsigned int a:1;      
    7 }$ m/ |8 P5 k5 V0 {8 u" A
  4. unsigned int b:1;& K2 e- W% F# A  u- V
  5. unsigned int c:1;4 p: l& ]# j& k! T
  6. }demo;
    9 L, d# f9 v% b8 o: P
  7.         int i=0;
    ! S0 G2 D' W# P7 b: {( c. Y
  8. union ; b; f0 T6 S! B2 j
  9. { unsigned int Data;
    3 S# k- f  y* I4 V% ^! b9 v
  10.   demo UN_Data;9 e* h' Y+ `) C) d9 b0 L
  11. }Tst_Data;" V) m5 E- X& @

  12. ) N* H9 y$ w6 n2 i# w. }
  13. int main(void)- P$ S9 n; T" Z( ~- M
  14. { 7 j+ E: t. r& H  H/ a
  15.         i=sizeof(demo);0 h( p7 s9 F# J+ m

  16. 7 ~( M' `& f' j& k3 B# a% t
  17.         Tst_Data.UN_Data.a=1;
    5 t2 A. x9 \8 S+ N
  18.         Tst_Data.UN_Data.b=1;& X1 {- @' M3 }0 `6 n- X' |! z
  19.         Tst_Data.UN_Data.c=1;3 k) S; b6 Q* S1 P6 C/ ]: c
  20.         Tst_Data.UN_Data.b=0;
    ; ]3 U% G+ j+ N0 [6 I* M2 d, e
  21.   for( ;; );
    5 V% `; }- R+ c, P8 R! B* Z+ i( Y
  22. }
复制代码
1.png ) A4 r: b% P$ x9 s( z
: S6 b: F8 _3 p0 i
收藏 评论6 发布时间:2018-12-13 09:49

举报

6个回答
zccdyfw 回答时间:2018-12-13 16:46:01
好东西就是用来共享的,点赞,点赞
shenxiaolin_mai 回答时间:2018-12-14 09:01:20
zccdyfw 发表于 2018-12-13 16:46
$ ~9 I6 h% P! K2 F4 }% t- r好东西就是用来共享的,点赞,点赞
9 S8 B- Q* A% L4 R/ V
谢谢支持,哈哈哈
tanic 回答时间:2018-12-14 09:26:22
应当是编译器帮你完成了或与非的工作,要多测试看看优化等级是否有影响,还有对寄存器这样操作是否可以
shenxiaolin_mai 回答时间:2018-12-14 19:10:07
tanic 发表于 2018-12-14 09:265 L$ A3 P6 i( Y, Y' i
应当是编译器帮你完成了或与非的工作,要多测试看看优化等级是否有影响,还有对寄存器这样操作是否可以 ...
3 I1 M& ?# [0 ~  A/ Y5 D
寄存器的话在群里有人试过了,是可以的,优化等级还没试过
andey 回答时间:2018-12-15 08:22:21
提示: 作者被禁止或删除 内容自动屏蔽
shenxiaolin_mai 回答时间:2018-12-15 14:11:12
andeyqi 发表于 2018-12-15 08:225 N& j- ]0 w1 _  {6 F! Z! `8 G& O
顶一个
8 v5 H( H% {8 e6 `5 f
欢迎欢迎

所属标签

相似分享

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版