这个软件延时是有点误差,1us左乱宏汪右,想要精绝迅准,还是用定时器吧。
那么1us延时如下:
void Delay1us() //@11.0592MHz
{
_nop_()
}
或者
void delay1us(void) //误差 -0.005353009259us
{
unsigned char a
for(a=4a>0a--)
}
或哗仔者
void delayus(unsigned int us)
{
while(us--)
}
正常情况下,时间和输运察首入数据的规模以及你的代码的时间复杂度相关。如果输入数据规模不大,那么编写代码时可以不在意时间复杂度的大小,如果输入的数据规模大,时间限制很小时,比如排序10000个数时,采用冒泡旁数等时间复杂度为为没辩O(n^2)的排序算法时就会超时,需考虑使用快排、桶排序等时间复杂度较低的算法进行排序。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)