我有一個C中的微控制器的代碼。 根據我的例子,我使用函數「void osSleep(tU32 ticks)
」停止了一段時間的程序。不幸的是,我不知道它是如何工作的,它對我的微控制器有什麼作用(哪些引腳,狀態等被設置爲什麼值)。void osSleep(tU32 ticks) - 它是如何工作的(微控制器中的定時器)?
我已想出了setBuzzer()函數,因爲我有它的源:
void setBuzzer(tBool on)
{
if (TRUE == on)
IOCLR = BUZZER_PIN;
else
IOSET = BUZZER_PIN;
}
所以GPIO端口設置爲1或0用於與蜂鳴器的PIN(BUZZER_PIN = 0x00002000)。蜂鳴器有一個引腳,所以我可以啓用和禁用它(高電壓和低電壓)。
我想做出類似的分析osSleep(),但有什麼奇怪的,我無法找到它的整個代碼實現,只是聲明:
void osSleep(tU32 ticks);
也許這功能在某些庫。無論如何,我想知道它是如何在較低級別上工作的(例如,當我稱之爲定時器時,執行什麼指令 - 例如蜂鳴器示例)。
而且,存在僅用於稱爲「先發制人操作系統V 1.4.0」由嵌入式藝術家代碼的文檔中的高級別短定義。