最近接手了一个项目,使用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板子,(公司自己的板子还在做,之前做好的板子孔爆了不知是几个意思,有大神知道的请指教),
以上是PINout界面和clock界面,以下是配置界面
选择ADC1进入
这就是ADC1的配置,
,选择ADC1配置框的DMA seting 选择ADD,模式有连续传输和不连续模式,数据大小选择,数据传输方向选择。最后要在NVIC里面使能DMA中断(半字节传输完成中断和全字节),配置好了以后就可以生成,自己选择打开软件的方式,我用的是MDK5
,
打开MDK之后,就是这样的,只是123是自己写的,分别是启动ADC,启动ADC_DMA传输,其中其二个形参是DMA传输地址,第三个参数是大小;最后是启动定时器。
1 2 分别是全字节传输完成中断(回调?),半字节传输完成中断,DMA seting时看你是选择传输多少。以上就是简单的介绍,有啥问题可以私信问我哦,当然我也是新手,希望和大家一起共勉!
打工是不可能打工,这辈子都不会打工,还是二姨家的人说话好听!
|