我正在为 FSLP(力感线性电位计)建立一个接口,以检测用户的触摸滑动。
我正在使用比较器 ISR 来检测用户触摸 FSLP 的情况,然后从 ADC 中读取压力读数,如果压力超过阈值,固件就会重新配置 FSLP
的引脚配置,并再次运行 ADC 来读取 10 个读数,这些读数代表用户在 FSLP 条上触摸的位置。 效果非常好。 我必须在 ADC
读数之间添加 20 毫秒的延迟,以捕获 10 个连续读数,这些读数可以跟踪用户滑动EVAL_PASCO2_SENSOR
逻辑如下
1. 用户触摸EVAL_PASCO2_SENSOR ,如果触摸产生超过阈值的电压,则会触发比较器 isr。
2.比较器 ISR 触发单个 ADC 捕获以读取力值,并将其与触摸阈值进行核对。
3.如果力度足够,则重新配置 FSLP 引脚并调用 ADC_StartConvert()。
4.其余部分由 DMA_ADC 使用单个描述符进行管理,需要捕捉 10 个读数,每个读数间隔 20 毫秒。
现在,我正试图使用 DMA 来实现这一功能,以避免运行时出现 10 x 20 毫秒的延迟。
我使用的是触发 DMA 的 EOS。 但最慢的 SPS 为 1 700,我只需要 50 个间隔为 20 毫秒的采样。
有什么建议吗?
共2条
1/1 1 跳转至页
FSLP建立一个接口,如何降低ADC-DMA的速度?

关键词: 接口 ADC DMA

2楼
可以使用一个 TCPWM 作为定时器来触发 ADC。 启用 ADC 的转换开始功能,并将定时器的周期设置为 20 毫秒。 同时将 ADC 配置为单次采样。
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
每周了解几个硬件知识+485硬件知识分享被打赏10分 | |
【换取手持示波器】树莓派PICOW网页烟花被打赏18分 | |
【换取手持示波器】树莓派PICO逻辑分析仪被打赏16分 | |
【分享评测,赢取加热台】教你五分钟本地部署蒸馏版本的DeepSeekR1-7B被打赏12分 | |
【换取手持示波器】蓝牙音箱更换电池被打赏8分 | |
【换取手持示波器】鼠标更换微动开关被打赏10分 | |
【我要开发板】4.传感器移植被打赏50分 | |
【换取手持数字示波器】RISC-VGCC使用-fno-omit-frame-pointer编译选项实现栈回溯被打赏29分 | |
【分享评测,赢取加热台】+开关电源简述被打赏7分 | |
STM32WBA55ADC采集电池电压任务2被打赏1分 |