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

关于STM32位域的操作方法-

[复制链接]
shenxiaolin_mai 发布时间:2018-12-13 09:49
本帖最后由 xiaoshen-372360 于 2018-12-13 09:51 编辑 3 C4 _6 z* @/ M
! o/ E' Y. x. {9 c9 c
+ f& \+ X5 j3 k
昨天在群里讨论发现了关于STM32 的位域操作,发现特别奇妙,很舒服,在进行IO操作的时候会免去与或非的操作,直接操作一个位就可以了,很方便,尤其是在做IO设备的时候,很容易实现,定义起来也很方便,这是写的一个例子,大家可以参考一下。$ n5 X, h' d6 b) E2 i2 K, Q

; ^- t" C" r2 B! q; Y- d
! d: v% [1 X( x# p7 ^! J
  1. typedef struct   4 P3 `; W. _5 ^. O6 x2 l- [: Y
  2. { ( s( g7 B1 E$ Z2 Y! i
  3. unsigned int a:1;      
    ( _) b. b$ a: x$ d" F- P
  4. unsigned int b:1;: [+ S/ E; M- U9 X
  5. unsigned int c:1;
    2 E% J" |' J, L/ n
  6. }demo;
    & y, @8 `& @9 Q
  7.         int i=0;
    0 m+ e, X, S' v; F" V" y
  8. union
    ; |! c$ g/ E& E; r9 c! K
  9. { unsigned int Data;
    9 O( B7 ~% y2 J6 P1 T
  10.   demo UN_Data;
    # _- P, \# B2 l, Q
  11. }Tst_Data;- O2 K$ U: Z  |

  12. 1 t" `+ F% c& K. h) g8 b
  13. int main(void)$ b) }5 l$ ^" B. {+ [
  14. {   T6 \' V6 f! O9 H8 G( Y
  15.         i=sizeof(demo);6 E; ^/ S5 ]4 p+ v
  16. / e, f; F; i' r0 W
  17.         Tst_Data.UN_Data.a=1;2 |9 ^/ _, M+ h! {; y
  18.         Tst_Data.UN_Data.b=1;3 _7 p2 y) j" C& x2 i
  19.         Tst_Data.UN_Data.c=1;( x/ g" W  S  Z, G1 c; ]/ P
  20.         Tst_Data.UN_Data.b=0;
    3 }4 Q! G# X# l0 g
  21.   for( ;; );
    ; G+ v  N, [4 a" C! Z3 F
  22. }
复制代码
1.png % L1 i8 ^, F4 [
( U: J. ?2 y9 v5 a5 g
收藏 评论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
$ h1 }9 r  S$ P. N. L$ F好东西就是用来共享的,点赞,点赞
8 e- o: `7 k4 J* r
谢谢支持,哈哈哈
tanic 回答时间:2018-12-14 09:26:22
应当是编译器帮你完成了或与非的工作,要多测试看看优化等级是否有影响,还有对寄存器这样操作是否可以
shenxiaolin_mai 回答时间:2018-12-14 19:10:07
tanic 发表于 2018-12-14 09:26
2 y0 r3 o7 e  M应当是编译器帮你完成了或与非的工作,要多测试看看优化等级是否有影响,还有对寄存器这样操作是否可以 ...

) W1 V/ W, u( J/ n2 _5 z7 D寄存器的话在群里有人试过了,是可以的,优化等级还没试过
andey 回答时间:2018-12-15 08:22:21
提示: 作者被禁止或删除 内容自动屏蔽
shenxiaolin_mai 回答时间:2018-12-15 14:11:12
andeyqi 发表于 2018-12-15 08:22
. @$ J2 U6 W" \( U5 i顶一个
& r- h, a' @* J! ^
欢迎欢迎

所属标签

相似分享

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