怎么计算延时函数 void delay1ms() { unsigned char i,j; for(i=0;i<10;i++) for(j=0;j<33;j++) ; }

上面的函数为什么是1ms啊... 上面的函数为什么是1ms啊 展开
 我来答
furious_tauren
2011-10-31 · TA获得超过4057个赞
知道大有可为答主
回答量:1913
采纳率:100%
帮助的人:921万
展开全部
!!! 这个是根据mcu频率来的,不同板卡这个循环次数是不同的。
这条语句要是在pc上,也就几ms就搞定了。
追问
晶振12Mhz
机器周期为1us
那上面的延时应该怎么计算呢
追答
关于取值大小:这个如果是在C下变成,这个值不仅仅与晶振、单片机本身运算速度有关,而且还与C的编译器有关,所以说,这个值虽说是可以精确计算的,但大多数情况下,程序员用的都是“经验值”——当然,如果用汇编编程,情况就不一样了,因为每一条指令所使用的机器周期是一定的,你当然可以根据所有指令使用的总时间,精确的算出具体延时的总时间

参考资料:http://zhidao.baidu.com/question/133709987
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式