這個問題的原因有很多。
先從簡單的原理說起: 1我用的是adc捕獲: 讓adc在所設定的時鐘頻率中不斷掃描接入的電平,即可獲取占空比和頻率等等。 2然后就是讓dma的資料傳到dac去輸出: 首先得先設定dma的傳輸方式(外設(p)到存盤器(m)、p to p、m to m、m to p)在這里選擇的是m to p,因為我事先寫好了存盤器(一個陣列),接下來只需把這些資料送給dac(也就是外設)。 設定完m to p這個模式后,應該怎么讓資料送到dac這個外設而不是別的外設呢?這就得查找手冊有關資料流datastream或者通道channel(取決于你用的是哪個型號的)。比如我用的是f407zg,這里dma的資料流5通道7對應的就是dac1。查找到之后,只需使能這個資料流和通道就算是成功連接上了。 接下來就是本人調了幾天沒發現的問題了,dma需要使能,也就是dma_cmd。所以以后得多長個心眼,每用到一個新東西,都要看看它需不需要command使能,出現完全沒反應的這種問題,也得檢查一下各項功能是否都command了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/78607.html
標籤:單片機/工控
上一篇:同相放大器的輸出電壓問題?
下一篇:dac輸出資料出錯
