本帖最后由 ArterySW 于 2020-10-12 19:27 编辑
SC0048_AT32F4xx_TMR使用DMA模式捕获外部信号
示例目的
演示AT32F4xx_TMR使用DMA模式捕获外部信号的使用方法。
支持型号列表:
支持型号
AT32F403xx
AT32F403Axx
AT32F407xx
AT32F413xx
AT32F415xx
AT32F421xx
主要使用外设列表:
TMR、DMA、GPIO
1 快速使用方法
1.1 硬件资源
1) AT START F403A V1.0 开发板(其他 型号请使用对应的开发板)
图1 . AT START F403A V1.0 开发板
2)串口打印(PA9)
1.2软件资源
1) SourceCode
TMR_InputCapture_Use_DMA 源程序
注: 所有project都是基于keil 5而建立,若用户需要在其他编译环境上使用,请参考BSP_PACK_V1.x.x\BSPs\AT32F4xx_StdPeriph_Lib_V1.x.x\Project\Templates中各种编译环境(例如IAR6/7,keil 4/5)进行简单修改即可。
1.3示例使用
1) 打开 TMR_InputCapture_Use_DMA 源程序,编译后下载 到 实验板
2) 实验使用AT START F403A V1.0 开发板故选择 AT 32F 4 03A 项目工程
图2.Keil工程选择
3) 为了 试验方便,程序中另外配置了一个定时器专门输出一路 PWM 信号 作为 TMR 的捕获 输入信号,所以在测试时将这路 PWM 信号 连接到 TMR 的 捕获输入端口即可 。
由于421 系列 与其他 系列 有不兼容的地方,所以硬件连线上有稍许区别: 在 403/403A/407/413/415中 ,将 PA1(TMR2的通道2)连接到 PA6(TMR3的通道1)在421中将PA8(TMR1的通道 1)连接到PA6(TMR3的通道1) 。
注:此方法对于高频 信号的捕获优势很明显,误差 较小;但对于低频信号需要修改TMR的分频系数,就会带来一些不可避免的误差。
4) 输出信号固定为4Mhz的信号,通过串口打印结果如下图 。
图3.结果查看
|