-
MM32F5277定时器从模式2(外部时钟)无法触发DMA进行数据传输
PE7外接频率为6.25MHz的时钟线,需要在上升沿或高电平进行一次8位引脚电平状态到缓存数组的DMA传输,现在无法实现,DMA不受PE7时钟的控制,不初始化时钟部分也可以用软件开启DMA。以下为初始化代码:DMA_Channel_Init_Typedma_channel_init;dma_channel_init.XferMode=DMA_XferMode_MemoryToPeriphBurst;//内存到外设dma_channel_init.ReloadMode=DMA_ReloadMode_AutoReload;/*DMA_AutoReloadMode_OneTime*///循环模式dma_channel_init.PeriphAddrIncMode=DMA_AddrIncMode_IncAfterXfer;//外设地址累加dma_channel_init.MemAddrIncMode=DMA_AddrIncMode_StayAfterXfer;//内存地址不变dma_channel_init.XferWidth=DMA_XferWidth_8b;//8位传输dma_channel_init.Priority=DMA_Priority_Low;//中断优先级低dma_channel_init.XferCount=128;//累计传输128个数据dma_channel_init.MemAddr=(uint32_t)(0x40040008+5*0x400+0);//引脚地址dma_channel_init.PeriphAddr=(uint32_t)&Data[0][0];//缓存地址DMA_InitChannel(DMA1,3u,&dma_channel_init);DMA_EnableChannel(DMA1,3u,true);GPIO_Init_Typegpio_init;RCC_EnableAPB2Periphs(RCC_APB2_PERIPH_TIM1,true);gpio_init.Pins=GPIO_PIN_7;gpio_init.PinMode=GPIO_PinMode_In_Floating;gpio_init.Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOE,&gpio_init);GPIO_PinAFConf(GPIOE,gpio_init.Pins,GPIO_AF_1);//管脚复用定时器ETRTIM_Init_TypeTIM_StructInit;TIM_StructInit.ClockFreqHz=CLOCK_SYS_FREQ;TIM_StructInit.StepFreqHz=CLOCK_SYS_FREQ;TIM_StructInit.Period=1;//TIM_StructInit.EnablePreloadPeriod=false;//关闭周期预加载值TIM_StructInit.PeriodMode=TIM_PeriodMode_Continuous;//循环工作TIM_StructInit.CountMode=TIM_CountMode_Increasing;//周期TIM_Init((TIM_Type*)TIM1,&TIM_StructInit);CLEAR_BIT(TIM1->SMCR,(0x01USMCR,(0x01U
2023-02-13 0