找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

单片机C语言函数定义变量过多会影响定时器延迟吗?求大佬告知

查看数: 2653 | 评论数: 2 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2020-4-5 15:05

正文摘要:

尝试蜂鸣器和数码管一起工作,可是单片机工作的时候出现了数码管和蜂鸣器延迟的情况。然后想找出原因,对代码进行几天的排查,是数码管disp函数的变量定义过多导致的,

回复

ID:677928 发表于 2020-4-5 23:37
ktoto2011 发表于 2020-4-5 19:42
变量定义过多不会影响延时的,影响延时是main里面while(1)不停循环运行的程序语句。因为里面每一条语句都要 ...

听君一言,犹如醍醐灌顶,十分感谢你
ID:248046 发表于 2020-4-5 19:42
变量定义过多不会影响延时的,影响延时是main里面while(1)不停循环运行的程序语句。因为里面每一条语句都要时刻循环,单片机执行的每一条语句都是需要时间的。例如你上面的
void work(){} ,和void work1(){}产生的差别主要是dish(h)数码管刷新需要的时间所导致的。当然除开这个数码管刷新时间,两个函数里面语句多的自然会需要单片机执行的时间长一些,12Mhz的主晶振,每条语句执行的只需要一个指令周期(1/12 us)几乎很短的时间。

评分

参与人数 1黑币 +40 收起 理由
admin + 40 回帖助人的奖励!

查看全部评分

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

Powered by 单片机教程网

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