STME32使用RTOS与ADC_DMA冲突
*以下文章資源均來自互聯網,文章內容僅供參考,如果侵犯了您的權益,請留言或通過郵箱與我聯系。
The following article resources are all from the Internet, the content of the article is for reference only. If you violate your rights and interests, please leave a message or contact me through email.
E-mail:chaoliang.hou@cn-depulong.com
/****************************************************************************************
在我學習STM32的時候使用的是正點原子的開發板,所以里面的有些代碼可能使用了例程中的代碼,如果這里會涉及利益上的問題,請與我取得聯系。
/*****************************************************************************************
STME32使用RTOS與ADC_DMA沖突
在使用STM32過程中,使用RTOS操作系統,并且也使用ADC采集電壓(使用DMA數據傳輸),發現在打開ADC的DMA數據傳輸之后,操作系統就會掛掉,經過很多種方法,最后找到原因,ADC的采樣周期太小,調整ADC的采樣周期就可以。
1.問題發現
在RTOS初始化之前打開ADC的DMA之后,RTOS無法運行,直接卡在第一個任務中。
在關閉DMA之后,RTOS就可以執行任務了。
在這之后,RTOS就可以正常執行任務了,那這樣看的話,就是ADC的DMA出了問題。
2.問題解決
在搜集了大量資料之后,在一個網站上發現了,有大神的解決方案
CUBEMX_FREERTOS ADC_DMA死機,高手一定遇到過
https://www.stmcu.org.cn/module/forum/thread-613621-1-1.html
(出處: 論壇-意法半導體STM32/STM8技術社區)
帖子上面說,要調整ADC的采樣周期,在調整之后問題就解決了。
在這之前ADC的采樣周期是1.5,現在改為239.5,問題得到解決。
總結
以上是生活随笔為你收集整理的STME32使用RTOS与ADC_DMA冲突的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Nutanix 在 2020 .NEXT
- 下一篇: TeXstudio安装和运行