找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3132|回复: 16
收起左侧

一句C语言代码不理解 求助各位大佬解析

  [复制链接]
ID:1096905 发表于 2023-10-22 18:50 来自触屏版 | 显示全部楼层 |阅读模式
我画线的这句话是啥意思
mmexport1697971327633.jpg
回复

使用道具 举报

ID:1096905 发表于 2023-10-22 18:51 来自触屏版 | 显示全部楼层
这个函数是为了实现蜂鸣器响三秒
回复

使用道具 举报

ID:227393 发表于 2023-10-22 23:11 来自触屏版 | 显示全部楼层
如果cont_1大于等于15000执行后面语句
回复

使用道具 举报

ID:517951 发表于 2023-10-23 07:30 | 显示全部楼层
条件cont_1大于等于15000后cont_1清零, tr1清零.
回复

使用道具 举报

ID:584814 发表于 2023-10-23 09:26 | 显示全部楼层
大于或等于符号,乘法符号,条件语句判断。
回复

使用道具 举报

ID:1096966 发表于 2023-10-23 11:38 | 显示全部楼层
乘法符号优先级高,先算100*50*3等于15000,然后拿con_t1去比较,con_t1大于等于15000时执行花括号里的语句
回复

使用道具 举报

ID:1096966 发表于 2023-10-23 11:42 | 显示全部楼层
乘法符号优先级较高,先算100*50*3等于15000,然后用con_t1跟15000比较,cont_t1大于等于15000时执行花括号内的语句
回复

使用道具 举报

ID:74687 发表于 2023-10-23 15:13 | 显示全部楼层
这个con_t1变量是来计算蜂鸣器响的次数,当超过限定值后,定时器停止工作。
回复

使用道具 举报

ID:74687 发表于 2023-10-23 15:17 | 显示全部楼层
理解这个句块,先要把con_t1当成计数用,就是计算定时器工作的次数,但是超过限定值后,后面的程序段开始工作,先是清零con_t1,而后清零TR1这个寄存器,而这个寄存器却是定时器1的开关,当TR1=0时,定时器1停止工作。
回复

使用道具 举报

ID:1097004 发表于 2023-10-23 16:06 | 显示全部楼层
乘法优先级高,先计算100*50*3等于15000,然后拿con_t1比较,执行后边语句
回复

使用道具 举报

ID:883242 发表于 2023-10-23 19:02 | 显示全部楼层
上面回答的人就没有一个有能力看看编译出来的代码是什么样子的,单片机是不会计算“计算100*50*3等于15000”的,这个运算过程在编译过程中已经算完了,单片机只能见到15000这个数字,什么100、50、3都不是单片机要考虑的问题。
回复

使用道具 举报

ID:420836 发表于 2023-10-24 08:19 | 显示全部楼层
如果con_t1的值达到15000,则将con_t1和TR1的值重置为零。
回复

使用道具 举报

ID:105039 发表于 2023-10-24 09:58 | 显示全部楼层
1楼正解吧,这样写应该是为了方便修改间隔时长,因为和重载参数一起,容易在各参数调整后理解间隔时长的修改方向。
回复

使用道具 举报

ID:74687 发表于 2023-10-24 14:27 | 显示全部楼层
huangsantian 发表于 2023-10-22 18:51
这个函数是为了实现蜂鸣器响三秒

这个中断一次应该是0.2ms,5000次是1秒,所以3秒后,关闭中断,停止蜂鸣。
回复

使用道具 举报

ID:77589 发表于 2023-10-24 17:24 | 显示全部楼层
是来看评论的
回复

使用道具 举报

ID:382454 发表于 2023-10-26 16:39 | 显示全部楼层
如果con_t1 大于等于 100*50*3(即15000)那就跳进下面的大括号里执行里面的代码。
回复

使用道具 举报

ID:1097455 发表于 2023-10-27 09:07 | 显示全部楼层
就是对蜂鸣器鸣叫时间进行定时,时间为=中断时间*100*50*3
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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