标题: 一句C语言代码不理解 求助各位大佬解析 [打印本页]

作者: huangsantian    时间: 2023-10-22 18:50
标题: 一句C语言代码不理解 求助各位大佬解析
我画线的这句话是啥意思

mmexport1697971327633.jpg (845.32 KB, 下载次数: 39)

mmexport1697971327633.jpg

作者: huangsantian    时间: 2023-10-22 18:51
这个函数是为了实现蜂鸣器响三秒
作者: sgq657785    时间: 2023-10-22 23:11
如果cont_1大于等于15000执行后面语句
作者: rayin    时间: 2023-10-23 07:30
条件cont_1大于等于15000后cont_1清零, tr1清零.
作者: man1234567    时间: 2023-10-23 09:26
大于或等于符号,乘法符号,条件语句判断。
作者: lianwt    时间: 2023-10-23 11:38
乘法符号优先级高,先算100*50*3等于15000,然后拿con_t1去比较,con_t1大于等于15000时执行花括号里的语句
作者: lianwt    时间: 2023-10-23 11:42
乘法符号优先级较高,先算100*50*3等于15000,然后用con_t1跟15000比较,cont_t1大于等于15000时执行花括号内的语句
作者: zyftank    时间: 2023-10-23 15:13
这个con_t1变量是来计算蜂鸣器响的次数,当超过限定值后,定时器停止工作。
作者: zyftank    时间: 2023-10-23 15:17
理解这个句块,先要把con_t1当成计数用,就是计算定时器工作的次数,但是超过限定值后,后面的程序段开始工作,先是清零con_t1,而后清零TR1这个寄存器,而这个寄存器却是定时器1的开关,当TR1=0时,定时器1停止工作。
作者: 求单片机交通灯    时间: 2023-10-23 16:06
乘法优先级高,先计算100*50*3等于15000,然后拿con_t1比较,执行后边语句
作者: Hephaestus    时间: 2023-10-23 19:02
上面回答的人就没有一个有能力看看编译出来的代码是什么样子的,单片机是不会计算“计算100*50*3等于15000”的,这个运算过程在编译过程中已经算完了,单片机只能见到15000这个数字,什么100、50、3都不是单片机要考虑的问题。
作者: TTQ001    时间: 2023-10-24 08:19
如果con_t1的值达到15000,则将con_t1和TR1的值重置为零。
作者: vkings    时间: 2023-10-24 09:58
1楼正解吧,这样写应该是为了方便修改间隔时长,因为和重载参数一起,容易在各参数调整后理解间隔时长的修改方向。
作者: zyftank    时间: 2023-10-24 14:27
huangsantian 发表于 2023-10-22 18:51
这个函数是为了实现蜂鸣器响三秒

这个中断一次应该是0.2ms,5000次是1秒,所以3秒后,关闭中断,停止蜂鸣。
作者: Longan.Wang    时间: 2023-10-24 17:24
是来看评论的
作者: univers    时间: 2023-10-26 16:39
如果con_t1 大于等于 100*50*3(即15000)那就跳进下面的大括号里执行里面的代码。
作者: 圣博朗西斯    时间: 2023-10-27 09:07
就是对蜂鸣器鸣叫时间进行定时,时间为=中断时间*100*50*3




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1