专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
STM32
STM32F030 有關DMA的CSELR訪問問題
2020-01-10 19:38
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
STM32/STM8
6121
8
8
各位大大好
最近我在嘗試使用DMA去搬移USART的資料
居然發現我不能用DMA1->CSELR去找到並且修改他的寄存器
未命名.png
(64.5 KB, 下载次数: 0)
下载附件
2018-6-14 15:04 上传
請問我要怎麼去訪問這個寄存器?
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
8条回答
陳聖文
2020-01-11 10:57
本帖最后由 陳聖文 于 2018-6-15 15:21 编辑
20061002838 发表于 2018-6-14 18:40
改名字了,叫做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這邊我沒打上'&'
然後,請求一直沒被執行...
整整兩天啊,我的青春
加载中...
查看其它8个回答
一周热门
更多
>
相关问题
STM32F4上I2C(在PROTEUS中模拟)调试不通的问题
6 个回答
芯片供应紧张,准备换个MCU,MM32L系列替换STM32L系列的怎么样?
7 个回答
STM32同时使用两个串口进行数据收发时数据丢包的问题
5 个回答
STM32F103串口通信死机问题
4 个回答
STM32WLE5CC连接SX1268在LoRa模式下能与 SX1278互通吗?
2 个回答
相关文章
ST公司第一款无线低功耗单片机模块有效提高物联网设计生产效率
0个评论
如何实现对单片机寄存器的访问
0个评论
通过USB用STM32片内自带Bootloader下载程序及注意事项
0个评论
欲练此功必先自宫之STM32汇编启动,放慢是为了更好的前行
0个评论
×
关闭
采纳回答
向帮助了您的知道网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
STM32
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
×
付费偷看金额在0.1-10元之间
确定
×
关闭
您已邀请
0
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
我發現我這款不是這樣去選擇的
是從 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這邊我沒打上'&'
然後,請求一直沒被執行...
整整兩天啊,我的青春
一周热门 更多>