功能要求
adc扫描采样若干通道,数据保存在指定缓冲区,连续采样若干次之后触发中断,然后读取采样数据处理。
实现思路
通过定时中断触发adc单次采样,采样结果通过dtc传输到指定缓冲区,设定dtc传输的次数,当dtc传输完成,会触发adc中断(dtc传输过程中不会中断),然后读取处理adc数据。
1fsp添加4个stacks
2agt0 stack设定
设定agt0的中断间隔,如100us,不使用中断,回调函数可以设为null,输出管脚不配置。
3adc stack
设定单次采样,选择采样通道0,1,3,6,触发源选agt0定时器中断。
4dtc stack
设定block传输模式
transfer size=2bytes(adc结果寄存器值)
number of transfers=7(7个adc结果)
number of blocks=10(传输10次adc转换结果)
触发源为adc0 scan end。
5elc stack
从system → event link controller添加,无需配置。可以在ra_gen目录下的elc_data.c看到事件分配。
6dtc函数
设定dtc的传输源指针、目的指针,以及传输的数量。
7按照以上fsp配置之后,生成代码。
hal_entry.c添加以下代码
8测试结果
4个通道的每次adc转换结果,占用了数组adc_buffer的7个16 bit。adc_buffer数组保存adc转换10次的结果。
9sadc12的多次采样平均,最多可以16次。
fsp的设置,可以配置为4次采样平均。
如何使用Arduino制作触控电容式钢琴
如何通过防爆电动阀门的结构看出操作管理机构
LED凉凉,MOCVD厂商的出路在何方?
Mach1专利的空间音频技术可在Bose AR平台上使用
将印刷工艺与OLED显示相结合,全球首款喷墨打印可卷绕柔性样机发布
ADC多次采样的实现思路
充电桩电路图 充电桩电路设计中单向充电桩 双向充电桩解决方案分享
什么是电缆高阻故障?如何定位电缆高阻故障 判断电缆故障类型
密码电子开关电路原理
Nordic Semiconductor蓝牙智能为Ninebot九号平衡车提供控制和安全功能
一种远程视频监控系统的实现
哥伦比亚利用AR报道超级碗LIII比赛 为观众带来前所未有的足球体验
具有Alexa功能的STM32嵌入式参考设计方案
无线收发芯片的性能说明
正运动控制器ZMC432的SS曲线可实现高精度焊接工艺的需求
如何根据电机应用方向从设计上选取匹配
在芯片领域中,哪家公司将成为5G时代的大赢家
基于DTU&ZWS云的智慧环境监控系统之数据统计篇
中创新航储能电芯于RE+展出全球首个量产交付的314Ah新款高比能、长寿命电芯
安科瑞物联网智能电表的应用