完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
更进一步的疑问:1.GPIO的DOUT寄存器能否作为PDMA的目标地址?
2.如果1可行,DMASK寄存器会不会对PDMA写DOUT生效? 我尝试配置了一下,结果会传输失败,PDMA会置位TABORT_IS。 下面是我的配置,目标是在PE15上输出PWM: const uint32_t DMA_PWM_Data[20] = { 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}; void configPDMA2(void) { CLK_EnableModuleClock(DMA_MODULE); PDMAGCR->GCRCSR |= DMA_GCR_GCRCSR_CLK2_EN_Msk; // DMA连接tiMER2 PDMAGCR->DSSR0 = ~DMA_GCR_DSSR0_CH2_SEL_Msk; PDMAGCR->DSSR0 |= PDMA_TMR2 << DMA_GCR_DSSR0_CH2_SEL_Pos; // 存储到外设 PDMA2->CSR = (PDMA2->CSR ~PDMA_CSR_MODE_SEL_Msk) | (0 << PDMA_CSR_MODE_SEL_Pos); // 32bit长度 PDMA2->CSR = (PDMA2->CSR ~PDMA_CSR_APB_TWS_Msk) | PDMA_WIDTH_32; // 源地址循环 PDMA2->CSR = (PDMA2->CSR ~PDMA_CSR_SAD_SEL_Msk) | PDMA_SAR_WRA; // 目标地址固定 PDMA2->CSR = (PDMA2->CSR ~PDMA_CSR_DAD_SEL_Msk) | PDMA_DAR_FIX; // PE->DMASK = 0x7FFF; // 源地址设置 PDMA2->SAR = (uint32_t) DMA_PWM_Data[5]; // Duty50% // 目标地址设置 PDMA2->DAR = (uint32_t) PE->DOUT; // 传输字节数设置 PDMA2->BCR = 10 * 4; // 使能传输完成中断 // PDMA2->IER |= PDMA_IER_TD_IE_Msk; // 使能错误中断,发生错误后应复位DMA // PDMA2->IER |= PDMA_IER_TABORT_IE_Msk; // NVIC_EnableIRQ(PDMA_IRQn); // 打开DMA,开始接收传输请求 PDMA2->CSR |= PDMA_CSR_TRIG_EN_Msk | PDMA_CSR_PDMACEN_Msk; } void configTIMER2(void) { CLK_EnableModuleClock(TMR2_MODULE); // TMR2_CLK 12Mhz CLK_SetModuleClock(TMR2_MODULE, CLK_CLKSEL2_TMR2_S_HXT, 0); TIMER2->PRECNT = 0; TIMER2->CMPR = 12000000 / 10 / 10000; // 周期模式 TIMER2->CTL = (TIMER2->CTL ~TIMER_CTL_MODE_SEL_Msk) | TIMER_PERIODIC_MODE; // TIM_IS 用于触发外设 TIMER2->CTL = ~TIMER_CTL_CAP_TRG_EN_Msk; // 使能TIMER触发PDMA TIMER2->CTL |= TIMER_CTL_PDMA_TEEN_Msk; } 也尝试过把MODE_SEL改成Mem2Mem,结果也是TABORT。 请问是这种做法不可行,还是我的配置不对? |
|
相关推荐 |
|
只有小组成员才能发言,加入小组>>
472浏览 3评论
251浏览 2评论
225浏览 1评论
216浏览 1评论
209浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-19 18:28 , Processed in 0.452089 second(s), Total 43, Slave 37 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号