求一个T1模组os开发adc使用dma的demo

Wi-Fi 设备、蜂窝设备、WuKongAI、开发板、TuyaOS 移植等


Post Reply
tts
Posts: 26

求一个T1模组os开发adc使用dma的demo


Tags:
JSHANG
Posts: 87

Re: 求一个T1模组os开发adc使用dma的demo

当前T1不支持adc DMA方式;
是当前的采样速度/采样率不能满足要求吗?一次采样的数据是多少, T1可以支持一次采样250个,分配buffer传下来就可以获取?在什么场景下使用,请详细描述一下需求,谢谢!

tts
Posts: 26

Re: 求一个T1模组os开发adc使用dma的demo

每间隔25us读取一次io,做一个解码

JSHANG
Posts: 87

Re: 求一个T1模组os开发adc使用dma的demo

是希望adc中断(间隔25us)通知你的应用,读取IO是读那个IO和IO的什么?读取ADC的值?解码是做什么?能否简单的画个流程图说明一下功能。

tts
Posts: 26

Re: 求一个T1模组os开发adc使用dma的demo

就一个433解码,但是间隔比较短(脉宽25us),我看上面说adc采样最高可以1.8m,我是想用dma采样,采一段时间再去处理,这样子应该也可以解码

JSHANG
Posts: 87

Re: 求一个T1模组os开发adc使用dma的demo

  1. 更新附件的tkl_adc.c, 替换你工程的\vendor\T1\tuyaos\tuyaos_adapter\src\driver\tkl_adc.c, 这个一次可以采样250个样本,具体你可以参考该c文件中的tkl_adc_unit_test的实列;如果还想提高采样率,可以修改该c文件的参数为:
    adc_desc.pre_div = 0;
    adc_desc.samp_rate = 0;

  2. 你可以用ringbuffer的方式来实现类似dma的方式,在任务x_thread_cb采样adc, 然后放到ringbuffer, 你的应用再从ringbuffer里读数据,ringbuffer有封好的API, 在tuya_ringbuf.c里面

Attachments
tkl_adc.c
(9.22 KiB) Downloaded 4 times
tts
Posts: 26

Re: 求一个T1模组os开发adc使用dma的demo

就是不想要这种用死循环在读取的,我现在都用定时器搞了,但是感觉比较好资源而且怕受到写flash和联网的影响,所有才想用某个外设的dma模式来实现

tts
Posts: 26

Re: 求一个T1模组os开发adc使用dma的demo

浪费资源

Post Reply