看看..........
不断地学习,才会有创新!
淘宝小店:手机、qq点卡、游戏点卡自动充值 http://shop63727265.taobao.com/
关于C的延时问题不是随便给段几句话的代码就能做到的,不同的核心,不同的编译器,结构都不一样,精准无误的延时都是用示波器一点一点调出来的,不是写出来的。
网上流传的东东有时会以讹传讹,“非常精确的C语言延时”,觉得根本是个悖论。
其一、程序在硬件基础上执行,速度受制于时钟频率,软件光靠自己无法独善其身;
其二、程序的执行时间会受中断影响,除非关闭中断响应,而这样的限制在要求实时性的嵌入式系统里是很难被接受的;
其三、程序的执行时间受编译系统,尤其是优化程度的左右,要想回避就须直接写汇编而不是C,否则辛苦分析好了的编译结果,更新一下编译版本就可能使心血白花;
其四、现在较新的CPU都是用流水线操作的,几条指令能并行处理,即使是用汇编写程序恐也难算清处理需多少个时钟。
其五、用纯软件延迟的分辨率充其量只能达到指令周期级的水平。
结论:要想做到“非常精确”,非借助硬件之力不可,光在纯软件范围内打转转是没有出路的。