硬汉嵌入式论坛

 找回密码
 立即注册
查看: 751|回复: 16
收起左侧

[有问必答] 坛内有没有做过 用TIM定时器外部触发模式来触发DMA的

[复制链接]

92

主题

66

回帖

342

积分

高级会员

积分
342
发表于 2023-2-6 14:49:16 | 显示全部楼层 |阅读模式
坛内有没有做过 用TIM定时器外部触发模式来触发DMA的
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106886
QQ
发表于 2023-2-6 15:14:03 | 显示全部楼层
只能通过ETR间接实现,DMA触发方式选择定时器CC或者UP事件
回复

使用道具 举报

92

主题

66

回帖

342

积分

高级会员

积分
342
 楼主| 发表于 2023-2-6 15:21:23 | 显示全部楼层
eric2013 发表于 2023-2-6 15:14
只能通过ETR间接实现,DMA触发方式选择定时器CC或者UP事件

有没有类似例程
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106886
QQ
发表于 2023-2-6 15:48:49 | 显示全部楼层
FANXS_ 发表于 2023-2-6 15:21
有没有类似例程

有个定时器UP或者CC触发DMA的例子。
回复

使用道具 举报

92

主题

66

回帖

342

积分

高级会员

积分
342
 楼主| 发表于 2023-2-6 16:23:50 | 显示全部楼层
eric2013 发表于 2023-2-6 15:48
有个定时器UP或者CC触发DMA的例子。

在哪呢
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106886
QQ
发表于 2023-2-7 00:35:42 | 显示全部楼层

V6-017

【安富莱】V6,V5开发板用户手册,重在BSP驱动包设计方法,HAL库的框架学习,授人以渔,更新至50章(2022-10-03)
https://www.armbbs.cn/forum.php? ... 3255&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

210

主题

1044

回帖

1684

积分

至尊会员

More we do, more we can do.

积分
1684
发表于 2023-2-7 09:29:34 | 显示全部楼层
本帖最后由 emwin 于 2023-2-7 09:31 编辑

有做过。定时器触发DMA驱动DAC,产生正弦波。
回复

使用道具 举报

92

主题

66

回帖

342

积分

高级会员

积分
342
 楼主| 发表于 2023-2-7 16:47:21 | 显示全部楼层
eric2013 发表于 2023-2-7 00:35
V6-017

【安富莱】V6,V5开发板用户手册,重在BSP驱动包设计方法,HAL库的框架学习,授人以渔,更新至 ...

本来我用的是外部中断触发SPI_DMA传输的,现在我想改成TIM+DMA+GPIO,TIM用外部触发模式,来触发SPI_DMA传输,请问这样行得通吗
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106886
QQ
发表于 2023-2-7 17:07:38 | 显示全部楼层
FANXS_ 发表于 2023-2-7 16:47
本来我用的是外部中断触发SPI_DMA传输的,现在我想改成TIM+DMA+GPIO,TIM用外部触发模式,来触发SPI_DMA ...

没问题。
回复

使用道具 举报

92

主题

66

回帖

342

积分

高级会员

积分
342
 楼主| 发表于 2023-2-7 17:10:23 | 显示全部楼层

之前没做过,现在思路有点卡住了

回复

使用道具 举报

92

主题

66

回帖

342

积分

高级会员

积分
342
 楼主| 发表于 2023-2-8 17:49:31 | 显示全部楼层

麻烦再请教一下,我这是用在AD7767(ADC采集芯片)上的,它有个数据就绪引脚DRDY,当DRDY拉低时,我就触发SPI_DMA采集,原来使用外部中断检测DRDY引脚的,由于频率太高频繁进入外部中断,占用资源。现在我想改成把DRDY接到定时器某个通道输入引脚,设置定时器外部触发模式,来触发SPI_DMA动作,是不是把定时器设置成从模式的触发模式呢,还是从模式复位模式?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106886
QQ
发表于 2023-2-9 00:31:31 | 显示全部楼层
FANXS_ 发表于 2023-2-8 17:49
麻烦再请教一下,我这是用在AD7767(ADC采集芯片)上的,它有个数据就绪引脚DRDY,当DRDY拉低时,我就触发S ...

定时这个触发不了SPI DMA,因为这个是SPI触发的DMA,你的定时器不好触发SPI。
回复

使用道具 举报

92

主题

66

回帖

342

积分

高级会员

积分
342
 楼主| 发表于 2023-2-9 10:02:51 | 显示全部楼层
eric2013 发表于 2023-2-9 00:31
定时这个触发不了SPI DMA,因为这个是SPI触发的DMA,你的定时器不好触发SPI。

那应该怎样做呢
回复

使用道具 举报

92

主题

66

回帖

342

积分

高级会员

积分
342
 楼主| 发表于 2023-2-9 10:03:41 | 显示全部楼层
FANXS_ 发表于 2023-2-9 10:02
那应该怎样做呢

我就是想SPI用DMA 传输
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106886
QQ
发表于 2023-2-9 10:20:41 | 显示全部楼层
FANXS_ 发表于 2023-2-9 10:03
我就是想SPI用DMA 传输

这个没有特别好的方案。
回复

使用道具 举报

92

主题

66

回帖

342

积分

高级会员

积分
342
 楼主| 发表于 2023-2-9 11:08:23 | 显示全部楼层
eric2013 发表于 2023-2-9 10:20
这个没有特别好的方案。
原来DRDY引脚,我用外部中断检测了,然后再外部中断里触发SPI_DMA传输的。用的是STM32H743
b76828d383ab855d782be7bec79694f.png
回复

使用道具 举报

0

主题

15

回帖

15

积分

新手上路

积分
15
发表于 2023-2-9 18:22:11 | 显示全部楼层
FANXS_ 发表于 2023-2-8 17:49
麻烦再请教一下,我这是用在AD7767(ADC采集芯片)上的,它有个数据就绪引脚DRDY,当DRDY拉低时,我就触发S ...

使用定时器T1捕获DRDY下降沿,然后使用T1的捕获DMA请求,将T2定时启动(提前配置好的T2,以及DMA读取spi等配置,但是不使能T2),这样就能固定时间间隔读取spi数据
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-9 08:47 , Processed in 0.226435 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表