打印

F28335_ADC使用

[复制链接]
1101|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
huangfeng33|  楼主 | 2014-9-14 22:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    CONV_RUN为1时,无限次的会自动转换MAX_CONVn次,同时会把排序指针指向CONV00/08处,并重新开始;若为0时,每次触发转换MAX_CONVn次,但是指针不会自动指向CONV00/08处,需要自己使用RST_SEQn=1来调整指针。此指针包含排序部分和结果部分。
        SEQ_OVRD用于CONV_RUN为1时的连续运行模式
        ADC转换结束时AdcRegs.ADCST.bit.INT_SEQ1会被置位,用它来判断是否转换完成
<span style="line-height: 1.5;">while (AdcRegs.ADCST.bit.INT_SEQ1== 0){}语句用于等待。后面还要有手动清除</span>
<span style="line-height: 1.5;">AdcRegs.ADCST.bit.INT_SEQ1_CLR = 1,除非使用了触发DMA功能,因为DMA会自动清除次标志。</span>
因为ADC是12位的,比较好的方式就是ADC转换结束后直接出发DMA,把AdcMirror的值直接转移到自己的目的寄存器中,免去了CPU的操作,同时转移的数据也是12位的有效数据,可以直接使用,而不需要进行右移4位的操作。因此可以使用DMA中断来处理ADC转换结束后的代码


沙发
小木欧尼| | 2014-9-14 23:19 | 只看该作者
学习

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

506

主题

2446

帖子

8

粉丝