求高手指教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 的例程,谢谢啦!