找回密码
 注册
关于网站域名变更的通知
查看: 236|回复: 4
打印 上一主题 下一主题

单片机C语言程序里标志位的问题

  [复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-5-20 10:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
先清标志位好,还是后清好。' U% w2 y* Y& e" s
/ g! N& y) U* k. e& E
        if(ReadVoltageFlag){
. k# S8 _. f( n9 k                //获取是充电电压
( Y" D# s4 Q- K( o; p+ R9 w                adc_mV = VoltCheck_GetVolt();6 l# \. F) P8 F& g+ ~; s
                ReadVoltageFlag = 0;
& e$ d( ^  l) A/ p! E" x, g        }
' J+ s% Q7 h( p" t) g9 S
! C0 @0 z. h& i/ p. e) Z1 B; w3 T2 |; N3 Y, ?" M  k0 {( Q" D  x

1 b4 M4 B6 }9 S* K

该用户从未签到

2#
发表于 2022-5-20 10:44 | 只看该作者
如果没有要求,只要在此函数内清完就行,不要跑出此函数即可。如果你要考虑时效性,或CPU中断那些问题,还是先清标志为好。我个人的做法是,进来做完要做的事情,之后再清完标志位。

该用户从未签到

3#
发表于 2022-5-20 13:32 | 只看该作者
后清好,万一VoltCheck_GetVolt()里面读取标志位不就出错了吗?

该用户从未签到

4#
发表于 2022-5-20 13:46 | 只看该作者
先清后清都可以,在多任务系统需要做零界保护。
6 C9 |4 P. G* q4 i( U但我一般是先清的 感觉进了函数就清掉 后面的就不用管它了思维习惯

该用户从未签到

5#
发表于 2022-5-20 14:44 | 只看该作者
程序如果不被打断,放在哪里清都一样。! ]+ R: E6 V$ p6 N, X
程序如果被打断(如其它中断),且又用到标记位。就存在先清先清的问题了。
, [0 `! e% D3 o) O$ g& ~一定是有利有敝,需要程序员按照程序目的,做出取舍,不会有统一的答案!
$ W' i" |, m2 [6 j5 _! q这就是设计!需要全盘考虑。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-9-7 22:55 , Processed in 0.109375 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表