OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 9294|回复: 7

话说STM32为什么不能用GPIO来作为DMA请求的触发源

[复制链接]

7

主题

75

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
401
金钱
401
注册时间
2012-12-30
在线时间
41 小时
发表于 2015-4-3 17:00:11 | 显示全部楼层 |阅读模式
如题,如果能这样的话在很多场合应用起来就会很方便了,像飞思卡尔的Kinetis K60就支持这个功能
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

2170

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5781
金钱
5781
注册时间
2013-11-22
在线时间
1212 小时
发表于 2015-4-3 21:38:09 | 显示全部楼层
回复 支持 反对

使用道具 举报

7

主题

75

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
401
金钱
401
注册时间
2012-12-30
在线时间
41 小时
 楼主| 发表于 2015-4-3 22:18:45 | 显示全部楼层
回复【2楼】lycreturn:
---------------------------------
你没理解我的意思啊,我不是说GPIO作为DMA的传输目的或源,而是作为一次DMA传输的触发信号,比如GPIO来一个上升沿触发一次ADC  DMA转换(不是通过中断来启动一次DMA传输),或者来一次触发,DMA把某一GPIO端口的输入数据搬运到内存
回复 支持 反对

使用道具 举报

3

主题

2170

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5781
金钱
5781
注册时间
2013-11-22
在线时间
1212 小时
发表于 2015-4-3 22:31:59 | 显示全部楼层
回复【3楼】xijiele:
---------------------------------
试试直接DMA   GPIOx->IDR   ----->  MEMORY   好像论坛有人做过
回复 支持 反对

使用道具 举报

7

主题

75

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
401
金钱
401
注册时间
2012-12-30
在线时间
41 小时
 楼主| 发表于 2015-4-3 22:46:37 | 显示全部楼层
回复【4楼】lycreturn:
---------------------------------
GPIO_IDR->DMA->MEM传输这个是可以啊,但是我是想用另外一个GPIO作为DMA的触发信号来触发一次这样的传输而不是通过中断
回复 支持 反对

使用道具 举报

7

主题

75

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
401
金钱
401
注册时间
2012-12-30
在线时间
41 小时
 楼主| 发表于 2015-4-3 22:52:36 | 显示全部楼层
另外这个只是一个讨论贴,实际上应该是不可能实现的,除非ST新推出一款芯片支持这个功能,我就在想ST当初为什么不实现这个功能,技术上应该不难吧
回复 支持 反对

使用道具 举报

0

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
64
金钱
64
注册时间
2015-7-10
在线时间
7 小时
发表于 2015-7-10 16:29:01 | 显示全部楼层
4.3  GPIO fast data transfer with DMA
This example shows how to use different peripherals for DMA request and data transfer. 
This mechanism allows to implement simple fast parallel synchronous interfaces without 
using the CPU (for example a camera interface).
Timer 3 and DMA channel 6 connected to TIM3_TRIG are used to implement this data 
acquisition interface. An 16-bit parallel data is available on the GPIO port and an external 
clock signal applied on the external trigger input of Timer 3. On the rising edge of the 
external trigger, the timer generates a DMA request. As the GPIO data register address  is 
set to DMA channel 6 peripheral address, the DMA controller reads the data from the GPIO 
port on each DMA request, and stores it into an SRAM buffer.

有你要的功能
回复 支持 反对

使用道具 举报

7

主题

75

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
401
金钱
401
注册时间
2012-12-30
在线时间
41 小时
 楼主| 发表于 2015-8-6 09:30:28 | 显示全部楼层
回复【7楼】3DA502:
---------------------------------
是的,后来也想到了这种方法,不过还没有实际测试过效果
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-18 19:14

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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