29.6基本操作一旦ADC转换开始,就不能被中断。若前一个转换未结束,软件新写入就不能发起新的转换,新的边沿触发事件也会被忽略。
29.6.1硬件触发的转换如果ADCR的BURST位为0且START字段的值包含在010-111之内,当所选引脚上或定时器匹配的信号发生跳变时,A/D转换器启动一次转换。也可选择在4个匹配信号中任何一个的指定边沿转换,或者在2个捕获/匹配引脚中任何一个的指定边沿转换。将所选端口的引脚状态或所选的匹配信号与ADCR的位27异或来作为边沿检测逻辑。你是不是在寻找相关的实例?不妨看看ADC程序硬件触发ADC程序和NXP KE15利用DMA触发多通道ADC转换。
29.6.2中断DONE标志位为1时,中断请求会被提交到NVIC。软件通过NVIC中的A/D中断使能位来控制是否产生中断。当ADDR被读取时DONE标志被否决。如何实现中断处理?点击DMA如何实现中断处理获取详细步骤。
29.6.3精度和数字接收器必须通过寄存器PINSEL选择AD转换功能从而读取监控引脚的准确电压。对于ADC输入引脚,不需要数字功能也可以读取有效的ADC值。只要ADC硬件相关的引脚选定了数字功能,内部电路就会与它断开。有没有想过双通道ADC采集的实现?这里有个很棒的示例:双通道ADC采集DMA转换。
29.6.4 DMA控制DMA传输请求产生于ADC中断请求线。发起DMA传输的情况与产生中断的情况相同(请参考“中断”小节和“A/D中断使能寄存器”小节)。注:如果使用DMA,必须禁能NVIC中的ADC中断。对于DMA传输,只支持突发传输请求。可将DMA通道控制寄存器中的突发大小设为1(请参考“DMA通道控制寄存器”小节)。若ADC通道个数不等于任意一个支持DMA的突发大小(可用的DMA突发大小有1、4和8),突发大小被设为1。DMA传输大小可决定DMA中断产生的时间。传输大小可以设置成ADC转换通道的个数(请参考“DMA通道控制寄存器”小节)。不相邻的通道可通过DMA使用分散/聚集链表项来传输(请参考“DMA通道链表项寄存器”小节)。对DMA和ADC组合感兴趣?这些资源或许正是你所需要的:ADC_DMA滤波处理、软件触发ADC同步规则加DMA查询。
如此细致的说明是否已经让你跃跃欲试?别忘了,在具体操作之前,下载并参阅相关资料,例如ADC加DMA接收,来获取更多的实际应用技巧吧!
暂无评论