stm32利用tim+dma 进行并口输出,速度不对

[复制链接]
 楼主| ljxh401 发表于 2021-1-15 21:13 | 显示全部楼层 |阅读模式
本帖最后由 ljxh401 于 2021-1-15 21:17 编辑

我使用的是 跟 stm32类似的cpu TKM32F499
我使用 tim2 的脉冲输出 周期为 4秒
ch4  pwm的占空比 50%  可以看到led 亮两秒 暗两秒
然后我用 ch4 触发dma 对 GPIOE->ODR 进行写数据 循环写入 0xFFFFFFFF 0x00000000发现 GPIOE输出的 脉冲周期 竟然是 8秒

        INT32U pedata[]={0xFFFFFFFF,0x00000000,0xFFFFFFFF,0x00000000,};

        TIM2_Config(48000,20000);                                                                                        //周期4秒
        Dma_Tx_Init(DMA2_Channel8,(INT32U)&GPIOE->ODR,0,2);                                                //DataSize_Word的数据模式 循环模式
        DmaSendData(DMA2_Channel8,(INT8U*)pedata,sizeof(pedata)/sizeof(pedata[0]));
        TIM_DMACmd(TIM2,TIM_DMA_CC4,ENABLE);


 楼主| ljxh401 发表于 2021-1-16 11:18 | 显示全部楼层
顶一下
 楼主| ljxh401 发表于 2021-1-16 16:00 | 显示全部楼层
程序也没有错 效果也没有错 是我脑子短路了 每个 ch4 更新一次数据 所以 我的频率 ff 00 需要 两次 ch4 所以 频率是两倍 没有问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

52

主题

230

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部