AB1601中如何实现比较精准NOP延时
生活随笔
收集整理的這篇文章主要介紹了
AB1601中如何实现比较精准NOP延时
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
之前由于對AB1601的編譯器不熟悉,寫出來的延時代碼在每個工程中都可能不一樣,因為被編譯器優化得一塌糊涂了。
后來發現通過volatile關鍵字來避免優化,結合邏輯分析儀或者示波器測量io口輸出的波形來確定延時參數,實現了毫秒精度的延時。代碼如下:
volatile void NopDelayMs(volatile U16 msVar)
{
volatile U16 i;
volatile U16 j;
volatile U32 k;
for(i=0; i<msVar; i++)
{
//for(j=0; j<2822; j++)//48M
for(j=0; j<940; j++)//16M
{
k++;
}
}
}
總結
以上是生活随笔為你收集整理的AB1601中如何实现比较精准NOP延时的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 设计模式总结之Builder Patte
- 下一篇: AB1601中使用定时器来进行延时的弊端