Page 1 of 1

请问有关于定时器触发ADC连续采样dma传输的例程吗?

Posted: Mon Sep 05, 2022 3:29 am
by one_last_kiss
最近在使用ESP32-S2采集大量数据(振动波形,频率5Khz或更高)并传输。因为想拥有更高的采样率,所以打算采用ADC的连续采样来实现(可达2MSPS)。
前段时间把wifi的station,ap;adc的单次,dma_read(连续);timer_group例程都看明白了,最近准备把他们结合一下,adc采样率定为1000*256(1s采1000次,每一次256个点)。然后将定时器定为1ms中断一次,每次中断将标志位至1,进入主函数进行adc_digi_read_bytes函数的读取,读取完标志位至0,存储数组的地址+256,等待下一次读取。当存储数组满时通过wifi发送储存数据到PC。

我想问两个问题:
第一:我上述的采样思路是否存在错误,因为我这几天写该程序的时候,从会有各种bug导致ESP32-S2重启(多数为开门狗超时)
第二:stm32具有定时器触发连续采样的功能,我更想实现该功能,但我未找到相关的API,没找到关于adc这方面的函数。所以想问一下是否有定时器触发ADC连续采样并通过dma传输的例程。

谢谢了!