久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6637|回復: 7
收起左側

stm32的dma傳輸完成中斷是指什么時候?

[復制鏈接]
ID:958310 發表于 2021-8-4 19:16 | 顯示全部樓層 |閱讀模式
  最近接手一個老項目是用到ADC和DMA配合使用,ADC是5個通道循環轉換,然后通過DMA傳輸到定義的全局數組里。每當DMA完成傳輸的時候就出發一次中斷然后在DMA中斷處理函數中對 1個 通道的AD值進行卡爾曼濾波,每次DMA中斷只對一個通道的AD值進行濾波下一次中斷就對下一個通道濾波,現在遇到的疑問就是:

    1、STM32的DMA配置的時候有兩個跟數據量有關的:一是傳輸的數據位寬(1字節、2字節和4字節),二是傳輸的總數據個數。那么這個DMA傳輸完成觸發中斷是指每傳輸一個數據、還是傳輸完總數據個數就觸發DMA中斷? 例如像我這里ADC轉換5個通道,DMA配置為:2字節位寬、傳輸總數據個數為5.開啟DMA中斷后那么我這里是每次ADC轉換完一個通道就出發一次DMA中斷?還是ADC要循環轉換完5個通道才觸發一次DMA中斷?

    2、之前一直用沒留意,然后今天看了一下卡爾曼濾波就對這個DMA中斷觸發看不懂。找到的芯片手冊也沒怎么細講。我就想我這里如果DMA是每當ADC轉換完一個通道就觸發一次中斷然后對這個通道的AD值進行濾波,那么就是符合要求的。如果是每當ADC轉換完5個通道DMA才觸發一次中斷,那豈不是要ADC連續5次轉換5個通道才能將5個通道的AD值進行濾波1次,這也太蠢了吧?

    3、代碼是上一任員工寫的,我在想能不能將那個DMA的總數據個數改為1個,然后每當ADC轉換完一個通道就觸發一次中斷來進行濾波,這樣實時性會不會好一些?

  有懂的大哥們幫幫忙解惑一下,謝謝了!!
回復

使用道具 舉報

ID:106290 發表于 2021-8-5 17:06 | 顯示全部樓層
STM32中文參考手冊_v10 144頁,寫得很清楚,在數據傳輸結束后,傳輸完成標志位(TCIF)被置1,當設置了允許傳輸完成中斷為(TCIE),將產生一個中斷請求。傳輸數據則由DAM_CMARX寄存器設置,其實就是你自己設置的數據大小。結論:你設置了多少傳輸數據,數據傳輸完成才能觸發完成中斷。只有一個通道要求的,直接用ADC轉換完成中斷處理就好了。多通道覺得比較麻煩的,可以采用注入型ADC轉換。
回復

使用道具 舉報

ID:592807 發表于 2021-8-5 10:16 | 顯示全部樓層
DMA中斷問題先放一邊,先說一下濾波問題,”ADC轉換完一個通道就觸發一次中斷來進行濾波”,你一個數據你和誰濾波?ADC轉換一次是一個數據。
回復

使用道具 舉報

ID:958310 發表于 2021-8-5 10:38 | 顯示全部樓層
黃youhui 發表于 2021-8-5 10:16
DMA中斷問題先放一邊,先說一下濾波問題,”ADC轉換完一個通道就觸發一次中斷來進行濾波”,你一個數據你和 ...

卡爾曼濾波的原理就是跟以往的數據進行比較,然后預測這一次的結果。每次轉換的AD數據都要保留到下一次計算濾波。
回復

使用道具 舉報

ID:419909 發表于 2021-8-5 11:02 | 顯示全部樓層
1,按我之前使用過的經驗.是總數據個數傳完即產生中斷.你設置5.那就是5個數據傳完就中斷了.
2,3,如果你只用一個通道.那還要用什么DMA.直接讀ADC不就行了嗎?
回復

使用道具 舉報

ID:958310 發表于 2021-8-5 14:49 | 顯示全部樓層
wfqxgw 發表于 2021-8-5 11:02
1,按我之前使用過的經驗.是總數據個數傳完即產生中斷.你設置5.那就是5個數據傳完就中斷了.
2,3,如果你只用 ...

有道理
回復

使用道具 舉報

ID:106290 發表于 2021-8-5 17:09 | 顯示全部樓層
STM32中文參考手冊_v10 144頁,明確說了。
1.當傳輸一半的數據后,半傳輸標志(HTIF)被置1,當設置了允許半傳輸中斷位(HTIE)時,將產生一個中斷請求。在數據傳輸結束后,傳輸完成標志(TCIF)被置1,當設置了允許傳輸完成中斷位(TCIE)時,將產生一個中斷請求。數據是由用戶設置的,最大為65536。
2.如果只是單通道ADC直接采用,ADC轉換完成中斷里面處理數據就好。
3.如果是多通道,可以用DMA,或者是注入型ADC轉換。
回復

使用道具 舉報

ID:958310 發表于 2021-8-5 17:11 | 顯示全部樓層
ganhui1300 發表于 2021-8-5 17:06
STM32中文參考手冊_v10 144頁,寫得很清楚,在數據傳輸結束后,傳輸完成標志位(TCIF)被置1,當設置了允許 ...

哎,這里我第一時間就看了,其實是我接手的項目之前那個人寫的代碼把我搞混淆了,我不敢確定。現在理解了。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 免费在线h视频 | 久久久久久久91 | 精品中文字幕视频 | 精品1区 | 久久99精品久久久久 | 成人伊人 | 国产91精品久久久久久久网曝门 | 日韩欧美国产一区二区 | 亚洲成网| 免费在线一区二区 | 国产精品美女在线观看 | 欧美成人在线免费 | 成人午夜电影网 | 视频在线一区二区 | 国际精品鲁一鲁一区二区小说 | 国产电影精品久久 | 激情欧美一区二区三区 | 国内久久精品 | 日本久久综合 | 国产一区二区电影 | 黑人中文字幕一区二区三区 | 日本一区二区三区四区 | 国产精品美女 | 国精产品一品二品国精在线观看 | 成人免费黄色片 | 久久中文字幕一区 | 久久久久久久香蕉 | 成人免费视频网站在线看 | 亚洲劲爆av| 精品久久久久国产免费第一页 | 日本精品在线一区 | 国产在线www| 亚洲一区 中文字幕 | 中文字幕动漫成人 | 亚州影院 | 精品国产一区二区久久 | 中文在线视频 | 久久爱黑人激情av摘花 | 欧美性视频在线播放 | 国产一二三区精品视频 | 精品一区在线免费观看 |