12M晶振单片机。 while(i--) { ; } 循环一次占几个机器周期,为什么?
展开全部
跟晶振速度没有关系,这个几个机器周期不一定,得看是什么单片机,程序编译好后,查看生成的编译文件,找到对应的编译好的汇编程序,对照每个汇编命令的指令周期,计算一共需要多少机器周期,如果要算耗时,再根据晶振算下。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一般是4个,这个用微芯的芯片用了10个,先判断i不为0,再i- -,再判断i是否为0,是0退出,不是0继续。谢谢
追答
微芯用的是MPLAB编译软件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是个和具体编译器等有关的问题,没有标准答案的。
自己看看生成的汇编代码 或者仿真跑一下,就有答案了,
但这种答案是不通用的,和编译器类型、版本、参数设置(例如优化等级)都有关系,
甚至这行代码前后的代码不一样都可能导致不一样的编译结果。
自己看看生成的汇编代码 或者仿真跑一下,就有答案了,
但这种答案是不通用的,和编译器类型、版本、参数设置(例如优化等级)都有关系,
甚至这行代码前后的代码不一样都可能导致不一样的编译结果。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个不好说清楚的,与i的数据类型有关,还与编译器有关。所以要精确计算时间,必须用汇编,这是实打实的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询