tombfw 发表于 2014-10-29 10:29:32

用c语言写延时函数 但用看相应的汇编代码非常冗长 如何...

用keil写的,看网上帖子都说用while语句写汇编代码都是djnz代码短比较好算,
Void delay(unsigned char i)
{
while(i--);
}
但编译后发现汇编代码很长 有没有什么方法让其变得好计算?

sunjianmax232 发表于 2014-10-29 10:31:10

试试while(--i);

liningustb 发表于 2014-10-29 10:38:55

要求这么高呀,我一般用软件生成。

leo_advance 发表于 2014-10-29 11:14:36

直接用汇编写

supercoo 发表于 2014-10-29 16:38:12

1、用do while语句,或者混编
2、不过用C语言想写出精准的延时不太容易,我一般都使用软件直接生成

比特 发表于 2014-10-29 17:11:00

你管它长不长,能满足要求就行了

sdf159372008 发表于 2014-10-29 23:30:33

这就是汇编和C语言的差距啊……
汇编可以大幅度减少代码。但是不适合菜鸟……

dz20062008 发表于 2014-10-30 00:56:24

汇编全部是全局变量,边界没有任何约束。一不小心跑飞了。延时可以做到指1是一指2是2。取决于晶振的精度
页: [1]
查看完整版本: 用c语言写延时函数 但用看相应的汇编代码非常冗长 如何...