2020-01-10 19:38发布
陳聖文 发表于 2018-6-14 15:11 這份的 "10.4.7"
20061002838 发表于 2018-6-14 15:14 我看的031的手册,我错了,原来两个的DMA不一样啊 查看头文件里面有无这个寄存器,有的话,直接像你写的 ...
陳聖文 发表于 2018-6-14 15:16 可是我是用原生的文件 我重裝看看好了
QQ图片20180614183837.png (41.26 KB, 下载次数: 0)
下载附件
2018-6-14 18:39 上传
20061002838 发表于 2018-6-14 18:40 改名字了,叫做RMPCR
最多设置5个标签!
我看的031的手册,我错了,原来两个的DMA不一样啊
查看头文件里面有无这个寄存器,有的话,直接像你写的那样访问就是了
应该是MDK的bug,或者头文件的bug
可是我是用原生的文件
我重裝看看好了
QQ图片20180614183837.png (41.26 KB, 下载次数: 0)
下载附件
2018-6-14 18:39 上传
改名字了,叫做RMPCR
我發現我這款不是這樣去選擇的
是從 9.1.1 SYSCFG configuration register 1 (SYSCFG_CFGR1) 去選擇的
其實我的組態設定和概念都沒問題
唯一的問題是我手殘漏打一個字
以下是我原先的組態
-
- SYSCFG->CFGR1|=SYSCFG_CFGR1_USART1TX_DMA_RMP; //映射到通道4
- DMA1_Channel4->CPAR = USART1->TDR; //設定通道2的硬件地址為TDR
- DMA1_Channel4->CMAR = (uint32_t)(&the_TX_buffer); //設定通道2的內存地址為the_TX_buffer
- DMA1_Channel4->CNDTR= 64; //資料筆數為64筆,剛好是陣列大小
- DMA1_Channel4->CCR |= DMA_CCR_PL_0 //PL[1:0]被設定為 01 中等優先權
- | DMA_CCR_MINC //設置內存增量模式
- | DMA_CCR_DIR //設定資料方向是內存->硬體
- | DMA_CCR_EN; //致能此通道2
复制代码以下是我修改後的組態
-
- SYSCFG->CFGR1|=SYSCFG_CFGR1_USART1TX_DMA_RMP; //映射到通道4
- DMA1_Channel4->CPAR = (uint32_t)(&USART1->TDR); //設定通道2的硬件地址為TDR
- DMA1_Channel4->CMAR = (uint32_t)(&the_TX_buffer); //設定通道2的內存地址為the_TX_buffer
- DMA1_Channel4->CNDTR= 64; //資料筆數為64筆,剛好是陣列大小
- DMA1_Channel4->CCR |= DMA_CCR_PL_0 //PL[1:0]被設定為 01 中等優先權
- | DMA_CCR_MINC //設置內存增量模式
- | DMA_CCR_DIR //設定資料方向是內存->硬體
- | DMA_CCR_EN; //致能此通道2
-
复制代码順帶一題原本是映射到通道2和3的
這不是重點,重點是我在CPAR這邊我沒打上'&'
然後,請求一直沒被執行...
整整兩天啊,我的青春
一周热门 更多>