久芯网

stm32g431 DMA方式更新周期信息。

avatar 梦醒了主 提问时间: 2023-06-29 17:18:38 / 未解决

如需获得 stm32g431 等器件的更多信息,请点击链接或 点击此处 联系在线客服!

3个回答
  • avatar 梦醒了主
    回答时间: 2023-06-29 17:49:46

    1.系统时钟配置 2.TIM配置 3.DMA配置 4、自己增加的代码 uint32_t ccr_value[] = {1000, 2000, 3000}; HAL_TIM_OC_Start_DMA(&htim1, TIM_CHANNEL_1, ccr_value, 3); 这样是可以更新占空比信息的。但是调用函数: HAL_TIM_Base_Start_DMA(&htim1, ccr_value, 3);会执行失败。 会执行到

  • avatar xmshao
    回答时间: 2023-06-29 18:22:44

    首先,建议你这里DMA传输的内存端和外设端宽度都选用32位; 另外,在调用库函数时注意那些状态机变量的适时手动调整,因为我们在调用库时往往 并没有完全按照库代码的思路走。 我这里具体指的就是相应外设的ready状态、busy状态这些。请适当地阅读下库代码。 再就是基本的配置问题,比方对于DMA到底哪里到哪里,别弄反了。

  • avatar butterflyspring
    回答时间: 2023-06-29 18:51:18

    楼主配置的定时器通道1是产生PWM1方式,驱动函数用HAL_TIM_OC_Start_DMA,是不是应该用HAL_TIM_PWM_Start_DMA 呢

会员中心 微信客服
客服
回到顶部