关于MSP430G2553的AD转换器程序

2019-03-24 12:45发布

首先:
unsigned int measure=0
#define VMIN 0x27E//最小电压比较值
#define VMAX 0x3AA//最大电压比较值

初始化函数中:
   ADC10CTL0 = SREF_0 + REFON + ADC10SHT_1 + ADC10ON;
                   ADC10CTL1 = INCH_0;                       // 选通 A1/P1.0作为电压输入
        ADC10AE0 |= 0x01;   


中断程序中:

                                ADC10CTL0 |= ENC + ADC10SC;         
                                while (ADC10CTL1 & ADC10BUSY);      
                                measure = ADC10MEM;                     // 读取ADC结果,存入变量measure         
                               if(measure>VMAX) /*操作*/;                               if(measure<VMIN) /*操作*/;


请问这段代码的初始化和读取过程有没有写对?VMAX和VMIN的对应电压计算公式是什么? 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
bobde163
1楼-- · 2019-03-24 14:27
< 首先这个中断子程序是由哪个中断源触发的没有说清楚
koffer1234
2楼-- · 2019-03-24 17:11
 精彩回答 2  元偷偷看……
koffer1234
3楼-- · 2019-03-24 23:02
同上
bobde163
4楼-- · 2019-03-25 00:48
从你的代码来看,你选择的参考电压Vref+是Vcc,Vref-是Vss,我觉得代码没有问题,应该能够运行的
koffer1234
5楼-- · 2019-03-25 01:49
 精彩回答 2  元偷偷看……
bobde163
6楼-- · 2019-03-25 06:30
你原来的配置就是开启了内部的1.5v参考源,REFON=1的时候,REF2_5V=1则选的是2.5v,REF2_5V=0,则是选的1.5V,想要使用内部参考源的话,SREFx也要进行相应的配置,ADC10CTL0 = SREF_1 + REFON + ADC10SHT_1 + ADC10ON就行了,你还是去看看用户指南吧,里面有很详细的寄存器说明,你的这个小小问题是很容易解决的

一周热门 更多>

相关问题

    相关文章