📄 fet140_1.c
字号:
#include <msp430x14x.h>
void main(void)
{
volatile unsigned int i;
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
/* init adc */
ADC12CTL0 = SHT0_2 + ADC12ON; // Set sampling time, turn on ADC12
ADC12CTL1 = SHP; // Use sampling timer
ADC12IE = 0x01; // Enable interrupt
ADC12CTL0 |= ENC; // Conversion enabled
P6SEL |= 0x01; // P6.0 ADC option select
P1DIR |= 0x01; // P1.0 output
ADC12CTL0 |= ADC12SC;
/* init uart0 */
/*
P3SEL |= 0x30;
BCSCTL1 &= ~XT2OFF;
do
{
IFG1 &= ~OFIFG;
for (i = 0xFF; i > 0; i--);
}
while ((IFG1 & OFIFG));
BCSCTL2 |= SELM_2 + SELS;
ME1 |= UTXE0 + URXE0;
UCTL0 |= CHAR;
UTCTL0 |= SSEL1;
UBR00 = 0xa0;
UBR10 = 0x01;
UMCTL0 = 0x00;
UCTL0 &= ~SWRST;
IE1 |= URXIE0;
*/
/*init uart1*/
WDTCTL = WDTPW + WDTHOLD;
P3SEL |= 0xC0;
BCSCTL1 &= ~XT2OFF;
do
{
IFG1 &= ~OFIFG;
for (i = 0xFF; i > 0; i--);
}
while ((IFG1 & OFIFG));
BCSCTL2 |= SELM_2 + SELS;
ME2 |= UTXE1 + URXE1;
UCTL1 |= CHAR;
UTCTL1 |= SSEL1;
UBR01 = 0xa0;
UBR11 = 0x01;
UMCTL1 = 0x00;
UCTL1 &= ~SWRST;
IE2 |= URXIE1;
for (;;)
{
ADC12CTL0 |= ADC12SC; // Sampling open
_BIS_SR(CPUOFF + GIE); // LPM0, ADC12_ISR will force exit
}
_BIS_SR(LPM0_bits + GIE); // Enter LPM0 w/ interrupt
}
// ADC12 interrupt service routine
#pragma vector=ADC_VECTOR
__interrupt void ADC12_ISR (void)
{
while (!(IFG2 & UTXIFG1)); // USART0 TX buffer ready?
TXBUF1 = ADC12MEM0 & 0xff; // RXBUF0 to TXBUF0
_BIC_SR_IRQ(CPUOFF); // Clear CPUOFF bit from 0(SR)
}
#pragma vector=UART1RX_VECTOR
__interrupt void usart1_rx (void)
{
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -