打印
[STM32U5]

STM32U575的DMA+PWM输出,求指教

[复制链接]
564|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
elephant00|  楼主 | 2023-9-25 09:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这是我的CubeMX配置。调用的是HAL_TIM_PWM_Start_DMA(&htim4,TIM_CHANNEL_1,(uint32_t )pulse,(176));库函数,// DMA 传输完成回调函数 void HAL_TIM_PWM_PulseFinishedCallback(TIM_HandleTypeDef htim) { // __HAL_TIM_SET_COMPARE(&htim4,TIM_CHANNEL_1,0); HAL_TIM_PWM_Stop_DMA(&htim4,TIM_CHANNEL_1); } //DMA 需要传输的数据 uint16_t pulse[176] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 59,59,59,59,59,59,59,59, 29,29,29,29,29,29,29,29, 59,59,59,59,59,59,59,59,
29,29,29,29,29,29,29,29, 59,59,59,59,59,59,59,59, 29,29,29,29,29,29,29,29,
29,29,29,29,29,29,29,29, 29,29,29,29,29,29,29,29, 59,59,59,59,59,59,59,59,
29,29,29,29,29,29,29,29, 29,29,29,29,29,29,29,29, 29,29,29,29,29,29,29,29,};
把HAL_TIM_PWM_Start_DMA()函数放在while(1)之前,示波器上看不到波形,哪位大佬可以帮忙看看

使用特权

评论回复
沙发
香水城| | 2023-9-26 21:34 | 只看该作者
问题应该出在那个HAL_TIM_PWM_Start_DMA()函数的使用,那个Length变量要换算成 源数据个数乘以 以字节为单位的数据宽度。

比方你现在源数据为16位,一轮传输数据个数为176, 则这里的length就是 176*2! STM32U5的库函数在这里跟别的不太一样。

使用特权

评论回复
板凳
香水城| | 2023-9-28 08:29 | 只看该作者

使用特权

评论回复
地板
Henryko| | 2023-9-29 19:33 | 只看该作者
这个575是什么内核的啊?

使用特权

评论回复
5
Stahan| | 2023-9-30 12:22 | 只看该作者
Henryko 发表于 2023-9-29 19:33
这个575是什么内核的啊?

M33

使用特权

评论回复
6
一只眠羊| | 2023-10-14 22:04 | 只看该作者
话说,这个没有官方的例程吗?可以看看的

使用特权

评论回复
7
月亮一键变蓝| | 2023-10-15 02:00 | 只看该作者
就是你定义的数据,没有通过DMA采集到?

使用特权

评论回复
8
将爱藏于深海| | 2023-10-15 05:00 | 只看该作者
你复位一下呢?看看能不能收到波形

使用特权

评论回复
9
故意相遇| | 2023-10-15 07:00 | 只看该作者
你仿真一下看看,数据为啥没传出来呗

使用特权

评论回复
10
温室雏菊| | 2023-10-15 09:00 | 只看该作者
DMA方面你配置OK了不?

使用特权

评论回复
11
西洲| | 2023-10-15 11:00 | 只看该作者
现在是啥情况啊?是DMA不执行啊?还是?

使用特权

评论回复
12
白马过平川| | 2023-10-15 13:00 | 只看该作者
楼主可以这样,首先使用HAL_TIM_PWM_Init()函数初始化定时器,并使用HAL_TIM_PWM_ConfigChannel()函数配置PWM通道。然后使用HAL_DMA_Init()函数初始化DMA,并使用HAL_DMA_Start()函数启动DMA传输。最后使用HAL_TIM_PWM_Start_DMA()函数启动PWM输出的DMA传输。

使用特权

评论回复
13
在曼谷的春| | 2023-10-15 16:00 | 只看该作者
是不是DMA需要长度相等啊?与PWM输出的数据长度

使用特权

评论回复
14
我吃小朋友| | 2023-10-15 18:00 | 只看该作者
DMA传输的数据缓冲区和PWM输出的数据缓冲区是相同的才行

使用特权

评论回复
15
失物招領| | 2023-10-15 20:00 | 只看该作者
执行是正常的不?现在就是数据收不到而已是吧

使用特权

评论回复
16
Mowergy| | 2023-10-16 11:20 | 只看该作者
DMA传输的数据缓冲区和PWM输出的数据缓冲区要相同

使用特权

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

本版积分规则

966

主题

2953

帖子

7

粉丝