📄 test44x_ca01.c
字号:
//*******************************************************************************
// MSP430-TEST44X Demo - Comp_A Output Comparator_A reference voltages on P1.6
//
// Description; Output comparator_A reference levels on P1.6. Program will
// cycle through the on-chip comparator_A reference voltages with output on
// P1.6. Normal mode is LPM0, TA0_ISR will interrupt LPM0.
// ACLK = n/a, MCLK = SMCLK = default DCO 1Mhz
//
// MSP430F449
// -----------------
// /|\| XIN|-
// | | |
// --|RST XOUT|-
// | |
// | P1.6|-->Vref
// | |
//
// Lierda, Inc
// February 2006.03
// Built with IAR Embedded Workbench Version: 3.40A
// ID: MSP430-TEST44X
// DATA:2005-7-12
// REV: 2.0A
// 程序功能:通过TIMER_A定时唤醒功能改变比较器的参考电压的不同设置模式,在P.16口输入不同的参考电压值
// 硬件连接:连接p1.6口短接器。
//******************************************************************************
#include "msp430x44x.h"
void delay(void); // Software delay
void main (void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
CACTL2 = P2CA0; // P2.3 = +comp
CCTL0 = CCIE; // CCR0 interrupt enabled
TACTL = TASSEL_2 + ID_3 + MC_2; // SMCLK/8, cont-mode
_EINT(); // enable interrupts
while (1) // Loop
{
CACTL1 = 0x00; // No reference voltage Vcc= on p2.3
_BIS_SR(LPM0_bits); // Enter LPM0
CACTL1 = CAREF0 + CAON; // 0.25*Vcc on P2.3, Comp. on
_BIS_SR(LPM0_bits); // Enter LPM0
CACTL1 = CAREF1 + CAON; // 0.5*Vcc on P2.3, Comp. on
_BIS_SR(LPM0_bits); // Enter LPM0
CACTL1 = CAREF1 + CAREF0 + CAON; // choose diode on P2.3, Comp. on
_BIS_SR(LPM0_bits); // Enter LPM0
}
}
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A (void)
{
_BIC_SR_IRQ(LPM0_bits); // Clear LPM0 bits from 0(SR)
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -