打印
[STM32C0]

基于TIM控制DMA从内存到内存的数据传输

[复制链接]
45|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 yinxiangxv 于 2025-5-4 22:56 编辑

首先对tim1进行配置,这个是高级功能的计时器:

按照图中标注进行配置,,另外这个有一个操作技巧,就是ctrl+鼠标左键,可以查找具有相同复用功能的引脚
比如说,TIM1_CH1这个功能,如果参考数据手册,发现有5个引脚都有,但是在ide中直接就可以通过ctrl+鼠标左键
进行显现,同时还可以进行鼠标拖拽,方便配置,这也是才知道的新功能。
Code to be added:

in main.c:

within initialization part:

/* USER CODE BEGIN PV */
uint32_t Pulses[10] = {0,10,20,30,40,50,60,70,80,90};

and further within main():

/* USER CODE BEGIN 2 */
HAL_TIM_PWM_Start_DMA(&htim1, TIM_CHANNEL_1, Pulses, 10);



通过user button和调试按钮中的resume 和suppend功能,进行数据传输的控制
通过user button对paluse中的数据进行选择,在resume期间进行数据传输,然后suspend期间观察
寄存器中相关数据的变化,如上图所示
,功能虽小,但是第一次体会还是比较有意思的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

48

主题

319

帖子

0

粉丝