不管是IIC还是在其它器件,有的延时是一定要有的,情况也确实是像你所说的那样,这延时一下,那延时一下,MCU会花很多的时间在等待延时上,整个的系统也是会慢很多
但这也只是相对于MCU的执行时间而言的,但更多的时候,对于实际应用来说,单片机反而是太快了,有时候是不需要那么快的
打个比方,你这个是一个自动出售饮水的机器,IIC器件用于保存今日总收入,那么,你想一下,当一个人完成交易到下一个人来进行交易的时候,中间至少也是几秒钟的时间,对于几个MHZ的单片机来说,这几秒就可以几百万条指令了,或者是说,你机器给水多供水1mS和少供水1mS是没有区别的.或者是一个自动开关灯电路,早开0.001秒和晚开0.001秒,区别并不大,等于是没有区别的了
当然,也会有对时间要求相当高的应用,遇上这种情况,一般都是按照代行等级来重新设定元件和程序的,比如,你的电路对于一个几微秒的时钟信号一定要捕捉到,那么,就以这一点为最高优先等级,其它的设定都得为这个让路:不用IIC器件,捕捉使用最高等级的中断,捕捉相关代码使用汇编语言
|