[STM32L4] 公司项目记——双重ADC采用,DMAchuans

[复制链接]
 楼主| 写程序是不可能 发表于 2018-7-4 11:07 | 显示全部楼层 |阅读模式
ADC, DMA, AN, mac, ST
    最近接手了一个项目,使用STM32L476开发,主要功能是用双重ADC采集128个点,再丢弃672采样点时间再次采集128个,循环64次;总共128*64点必须保存,在64次128之后,延时40ms,用于FFT运算,然后延时1us再次循环采集64*128。   因为使用的是L4坑爹的没有F4那种固件库,只能用HAL库、LL库或者寄存器,我能怎么办我也很绝望啊,在不懈努力下(论度娘的好处),我还是屈服于HAL库,使用STM32cube库配置双重ADC,定时器3触发,废话不多说上图,调试用的是STM32L4-dis板子,(公司自己的板子还在做,之前做好的板子孔爆了不知是几个意思,有大神知道的请指教),
屏幕截图(5).png 屏幕截图(6).png
以上是PINout界面和clock界面,以下是配置界面
屏幕截图(7).png 选择ADC1进入 屏幕截图(8).png 这就是ADC1的配置, 屏幕截图(9).png ,选择ADC1配置框的DMA seting 选择ADD,模式有连续传输和不连续模式,数据大小选择,数据传输方向选择。最后要在NVIC里面使能DMA中断(半字节传输完成中断和全字节),配置好了以后就可以生成,自己选择打开软件的方式,我用的是MDK5 屏幕截图(10).png 屏幕截图(11).png 打开MDK之后,就是这样的,只是123是自己写的,分别是启动ADC,启动ADC_DMA传输,其中其二个形参是DMA传输地址,第三个参数是大小;最后是启动定时器。 屏幕截图(12).png 1 2 分别是全字节传输完成中断(回调?),半字节传输完成中断,DMA seting时看你是选择传输多少。以上就是简单的介绍,有啥问题可以私信问我哦,当然我也是新手,希望和大家一起共勉!
                                                                                                                                                打工是不可能打工,这辈子都不会打工,还是二姨家的人说话好听!
捉虫天师 发表于 2018-7-4 23:28 | 显示全部楼层
必须学新库了,刚才去ST官网下载F1的库,发现还有个工具就是把原来标准库做的程序转换成HAL库的代码的工具。
dongnanxibei 发表于 2018-7-5 11:02 | 显示全部楼层
水平有限,没看明白你这是怎么做。
 楼主| 写程序是不可能 发表于 2018-7-5 15:10 | 显示全部楼层
捉虫天师 发表于 2018-7-4 23:28
必须学新库了,刚才去ST官网下载F1的库,发现还有个工具就是把原来标准库做的程序转换成HAL库的代码的工具 ...

感觉CUBE还行,除了慢点,配置有好点了!
 楼主| 写程序是不可能 发表于 2018-7-5 15:12 | 显示全部楼层
dongnanxibei 发表于 2018-7-5 11:02
水平有限,没看明白你这是怎么做。

就是配置双重ADC采样,定时器触发ADC,ADC数据通过DMA循环传输到内存中,估计是我水平有限,思路不怎么流畅!
xinpian101 发表于 2018-7-9 23:30 | 显示全部楼层
L4的库还没用过,这个有点贵,没用过。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

27

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部