找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2221|回復(fù): 8
打印 上一主題 下一主題
收起左側(cè)

關(guān)于MCU ADC中斷和DMA問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:966089 發(fā)表于 2023-5-8 09:54 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
各位大佬們,根據(jù)數(shù)據(jù)手冊說,掃描模式下一組通道轉(zhuǎn)換實際上就是連續(xù)的一組通道的單次轉(zhuǎn)換,那也就是說工作流程是:觸發(fā)信號到達(dá)-通道1轉(zhuǎn)換-通道1轉(zhuǎn)換結(jié)束EOC-通道2轉(zhuǎn)換-通道2轉(zhuǎn)換結(jié)束EOC.......,然后ADC中斷規(guī)定是:如果設(shè)置ADC中斷位,那么ADC在轉(zhuǎn)換結(jié)束標(biāo)志EOC處會觸發(fā)進(jìn)入中斷一次(這個在單通道ADC采集中可以得到很好的驗證),但現(xiàn)在問題來了,多通道采集是要搭配DMA的,那現(xiàn)在我使用DMA,但是我不用DMA中斷,而是開啟ADC中斷,在一組為4通道的轉(zhuǎn)換中,我在ADC中斷函數(shù)里設(shè)置一個變量自增一次,然后觸發(fā)信號我給的是定時器1s觸發(fā)采樣,理論上我應(yīng)該觀察出ADC中斷函數(shù)變量一個周期內(nèi)應(yīng)該自增4次,畢竟是4個通道,但是我并沒有觀察到變量自增,一直是0初始值。這個是為什么?這里面的機(jī)理是什么樣子,ADC在EOC處觸發(fā)DMA傳輸一次數(shù)據(jù),難道就因為觸發(fā)DMA就不進(jìn)入中斷了?我有點(diǎn)茫然,網(wǎng)上也都是很普通的DMA配置和介紹,哪位大佬了解這個激勵,麻煩賜教一下。。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:301191 發(fā)表于 2023-5-8 20:12 | 只看該作者
頂一下
回復(fù)

使用道具 舉報

板凳
ID:123289 發(fā)表于 2023-5-9 09:24 | 只看該作者
你描述的很累,我看的也累啊。
回復(fù)

使用道具 舉報

地板
ID:966089 發(fā)表于 2023-5-9 11:05 | 只看該作者
沒有人用過DMA下的ADC中斷嗎?
回復(fù)

使用道具 舉報

5#
ID:624769 發(fā)表于 2023-5-9 15:58 | 只看該作者
菜菜的周某人 發(fā)表于 2023-5-9 11:05
沒有人用過DMA下的ADC中斷嗎?

不是沒人用過,是你提出的問題,組詞造句的方式,拼湊在一起之后,非常難理解。

隨便當(dāng)中抽一條吧,
你說: 多通道采集是要搭配DMA的,
實際上,并不是,多通道可以不用DMA的。 并且,DMA可以應(yīng)用在單通道。然后……,其他的真的很難理解。
回復(fù)

使用道具 舉報

6#
ID:1043290 發(fā)表于 2023-5-10 16:36 | 只看該作者
貼下程序吧
回復(fù)

使用道具 舉報

7#
ID:966089 發(fā)表于 2023-5-10 17:27 | 只看該作者
我的問題就是為什么在多通道里使用DMA后,ADC中斷不動作了?以及ADC中每次使用DMA傳輸數(shù)據(jù)時,什么時候觸發(fā)DMA傳輸?
回復(fù)

使用道具 舉報

8#
ID:401564 發(fā)表于 2023-5-11 12:54 | 只看該作者
ADC用中斷就不用DMA
用DMA就不需要開ADC中斷
用DMA本身就是為節(jié)省CPU時間,你又開了ADC中斷,那還開DMA干咳呢?
不管是單個通道還是多個通道,都可以用DMA
回復(fù)

使用道具 舉報

9#
ID:401564 發(fā)表于 2023-5-11 12:55 | 只看該作者
文字一堆描述,誰看了都累,還不如上傳代碼
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表