|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
求助:關(guān)于adsp的dma操作方式請教! |
| 作者:yqyte 欄目:DSP技術(shù) |
現(xiàn)在我正在使用adsp的串口的dma方式進行操作,結(jié)果在調(diào)試的時候發(fā)現(xiàn)每次DMA接收數(shù)據(jù)的時候只能在完成一次dma方式以后才能進入中斷,這樣就要求通信時數(shù)據(jù)長度和設(shè)定的DMA長度一致,才可以在每次接收完成以后進入中斷進行相應(yīng)的操作,可是現(xiàn)在我們用的是變長數(shù)據(jù),這樣就沒辦法在數(shù)據(jù)比dma長度小的時候、每次接受完成后都可以進入中斷,各位大俠:是否是我們理解錯了了,還是有更好的方式來完成這個功能了?多謝多謝! |
| 2樓: | >>參與討論 |
| 作者: zhangsifu 于 2006/7/10 15:01:00 發(fā)布:
是這樣的阿 你設(shè)置完接收的長度后,DSP接收到該長度數(shù)據(jù)后進入DMA中斷。 如果你串口數(shù)據(jù)速率不高(例如實用串口模擬UART)的話,你完全可以設(shè)置DMA長度為1,每次接收到一個數(shù)據(jù)就進入中斷,把數(shù)據(jù)放到緩沖區(qū)中。 如果串口速率很高的話,就不能用上述方法了,不知道你能否改變串口的傳輸格式,使得傳輸?shù)母袷奖容^有規(guī)律,這樣你在每次設(shè)置DMA長度時根據(jù)該規(guī)律變化就可以了。 |
|
| 3樓: | >>參與討論 |
| 作者: yqyte 于 2006/7/12 9:08:00 發(fā)布:
多謝多謝! 現(xiàn)在做的東西要求串口速率很高,后來只好改了一下通信協(xié)議,把每次所收數(shù)據(jù)的長度設(shè)定為定長,那樣可以適當(dāng)配置DMA長度,使得每次數(shù)據(jù)收完以后進入中斷來進行數(shù)據(jù)處理。 |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |