我正在試圖將皮質m4處理器睡眠時間稍短一秒鐘。我希望能夠告訴它睡覺,然後等待一秒鐘,或者當按下按鈕時,從我離開的地方繼續前進。我查閱了參考手冊,VLPS模式看起來符合我的需求。我不知道如何開始進入該模式或如何編程NVIC
。在手臂皮層進入睡眠模式m4
更多信息: 我這樣做在C,在裸機上。
我正在試圖將皮質m4處理器睡眠時間稍短一秒鐘。我希望能夠告訴它睡覺,然後等待一秒鐘,或者當按下按鈕時,從我離開的地方繼續前進。我查閱了參考手冊,VLPS模式看起來符合我的需求。我不知道如何開始進入該模式或如何編程NVIC
。在手臂皮層進入睡眠模式m4
更多信息: 我這樣做在C,在裸機上。
您可以下載並檢查實施this demo的代碼。雖然演示是針對RTOS的,但是無論是使用RTOS還是應用程序在裸機上運行,用於將CPU置於休眠模式的代碼都是相同的。
您可以通過一些通用的方式將Cortex-M3內核置於低功耗狀態(請參閱WFI指令)。爲了獲得極低的功耗,你還必須做特定的芯片。上面的鏈接代碼在調用WFI之前執行一些芯片特定的預睡眠處理(外設轉向,芯片自己的睡眠模式等),然後在從WFI指令返回時執行一些芯片特定的事情。
你爲什麼在這裏問這個問題,而不是專門討論ARM處理器的論壇?
我現在意識到這不是這個問題最好的地方,但是你幫助我做得很好。謝謝。 – robostork
這樣的問題一直在這裏問及回答,這是一個編程問題。 –
你不需要一個RTOS爲了從睡眠喚醒一個Cortex M4,你需要的是使用和中斷(ISR)你應該參考製造商手冊,你可以用一個定時器(ISR )或按鈕(GPIO),具體取決於您的特定芯片的睡眠休眠模式。這裏有更深入的ARM文檔。
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0553a/BABGGICD.html
這很難說,如果這個問題屬於這裏或在http://electronics.stackexchange.com/。你在使用'C'嗎?如果不是,你需要用什麼語言來做到這一點? – tay10r
另外,您是使用RTOS還是在「裸機」上運行? –
@TaylorFlores我在裸金屬上做了這件事。我已經更新了這個問題。 – robostork