STME32使用RTOS与ADC_DMA冲突
*以下文章資源均來自互聯(lián)網(wǎng),文章內(nèi)容僅供參考,如果侵犯了您的權(quán)益,請留言或通過郵箱與我聯(lián)系。
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
/****************************************************************************************
在我學(xué)習(xí)STM32的時候使用的是正點原子的開發(fā)板,所以里面的有些代碼可能使用了例程中的代碼,如果這里會涉及利益上的問題,請與我取得聯(lián)系。
/*****************************************************************************************
STME32使用RTOS與ADC_DMA沖突
在使用STM32過程中,使用RTOS操作系統(tǒng),并且也使用ADC采集電壓(使用DMA數(shù)據(jù)傳輸),發(fā)現(xiàn)在打開ADC的DMA數(shù)據(jù)傳輸之后,操作系統(tǒng)就會掛掉,經(jīng)過很多種方法,最后找到原因,ADC的采樣周期太小,調(diào)整ADC的采樣周期就可以。
1.問題發(fā)現(xiàn)
在RTOS初始化之前打開ADC的DMA之后,RTOS無法運行,直接卡在第一個任務(wù)中。
在關(guān)閉DMA之后,RTOS就可以執(zhí)行任務(wù)了。
在這之后,RTOS就可以正常執(zhí)行任務(wù)了,那這樣看的話,就是ADC的DMA出了問題。
2.問題解決
在搜集了大量資料之后,在一個網(wǎng)站上發(fā)現(xiàn)了,有大神的解決方案
CUBEMX_FREERTOS ADC_DMA死機(jī),高手一定遇到過
https://www.stmcu.org.cn/module/forum/thread-613621-1-1.html
(出處: 論壇-意法半導(dǎo)體STM32/STM8技術(shù)社區(qū))
帖子上面說,要調(diào)整ADC的采樣周期,在調(diào)整之后問題就解決了。
在這之前ADC的采樣周期是1.5,現(xiàn)在改為239.5,問題得到解決。
總結(jié)
以上是生活随笔為你收集整理的STME32使用RTOS与ADC_DMA冲突的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Nutanix 在 2020 .NEXT
- 下一篇: TeXstudio安装和运行