求高手指教MSP430F2619 的比较器使用方法
求高手指教MSP430F2619 的比较器使用方法
今天弄了一下午Comparator A 但是还是没弄明白,主要是现象和我想的不一样
我是这几点没弄明白,大家看我哪里叙述有误: CACTL1 中的 CAEX 和 CARSEL 决定了参考电压的输入端(+ or -) CAREF 选择参考电压 CAON 打开比较器A CAIE CAIES CAIFG 与中断有关(这个我明白) 下面我的问题来了,没理解好的地方: CACTL2 中的 CASHORT 是有关短路采样的,没用到 CAF 输出滤波 CAOUT 输出状态 P2CA4 P2CA3 P2CA2 P2CA1 P2CA0 这几位把我弄糊涂了,没有看懂datasheet的意思 datasheet 中把 P2CA4 和 P2CA0 作为一组 P2CA3 P2CA2 P2CA1 作为一组 他们的设定都要根据 CAEX 的情况, 但这两组到底针对谁啊,感觉自相矛盾?
#include<msp430x26x.h>
void ComparatorA_init();
void LED_init();
void main(void)
{ WDTCTL = WDTHOLD + WDTPW; // 关狗 LED_init(); // led初始化 P5.7 接的LED正端 ComparatorA_init(); // CA初始化 _EINT();
while(1) { if((CAOUT & CACTL2) == 1) // 判断CAOUT 的状态 ,控制LED亮灭 P5OUT |= BIT7; else P5OUT &= ~BIT7; }
}
void LED_init()
{ P5DIR |= BIT7; P5OUT &= ~BIT7;
}
void ComparatorA_init()
{ CACTL1 = CAON + CAREF_2 + CARSEL // 开CA + 选择参考源 + 选择参考源输入端 CACTL2 = P2CA3 + CAF; // 选择通道 开滤波 怎么选择通道哦? CAPD |= BIT2; // 关相应管脚的BUFFER P2SEL |= BIT2; 这句话好像没用?
}
加一个问题,PxREN 在其他情况下感觉用不用没多大影响?
可以的话请给一个 MSP430F2619 比较器A 的例程,谢谢啦!
|
[ 此贴最后由DC在2012-4-3 20:28:12编辑过 ]
|