不管是IIC還是在其它器件,有的延時是一定要有的,情況也確實是像你所說的那樣,這延時一下,那延時一下,MCU會花很多的時間在等待延時上,整個的系統也是會慢很多
但這也只是相對于MCU的執行時間而言的,但更多的時候,對于實際應用來說,單片機反而是太快了,有時候是不需要那么快的
打個比方,你這個是一個自動出售飲水的機器,IIC器件用于保存今日總收入,那么,你想一下,當一個人完成交易到下一個人來進行交易的時候,中間至少也是幾秒鐘的時間,對于幾個MHZ的單片機來說,這幾秒就可以幾百萬條指令了,或者是說,你機器給水多供水1mS和少供水1mS是沒有區別的.或者是一個自動開關燈電路,早開0.001秒和晚開0.001秒,區別并不大,等于是沒有區別的了
當然,也會有對時間要求相當高的應用,遇上這種情況,一般都是按照代行等級來重新設定元件和程序的,比如,你的電路對于一個幾微秒的時鐘信號一定要捕捉到,那么,就以這一點為最高優先等級,其它的設定都得為這個讓路:不用IIC器件,捕捉使用最高等級的中斷,捕捉相關代碼使用匯編語言
|