27,375
社区成员
发帖
与我相关
我的任务
分享
void ADC12_init( void )
{
ADC12CTL0 = 0;
ADC12CTL1 = SHP + // Extended sample mode
SHS_0 + // ADC12SC is sampling start source
//ADC12SSEL_2 + // MCLK
CONSEQ_1;// + // Sequence of channels conversion
//ADC12DIV_4; // Clock Divider
ADC12MCTL0 = SREF_1 +
INCH_3; // 选择通道A1 A2
ADC12MCTL1 = SREF_1 +
EOS + // 最后一个通道
INCH_4; // 选择通道A1 A2
ADC12CTL0 = ADC12ON + // 允许转换功能
REFON + // 打开片上参考电压源
SHT0_4 + // 1024 cycles in sampling period
REF2_5V; // 2.5V reference
ADC12CTL0 |= ENC; // Conversion enabled
ADC12IE = 0x0002; // 允许中断
}
#if oscilator==8
// 8.0MHz
const char br_table[] = {0x0a,0x1a,0x5b, 0x05,0x0d,0x92, 0x82,0x06,0x5b, 0x41,0x03,0x49, 0xa0,0x01,0x5b, 0xd0,0x00,0x49, 0x8a,0x00,0x7f };
#endif
void init_USART0(char bps)
{
U0CTL |= SWRST;
U0CTL |= CHAR;// + SPB;// + LISTEN; // 8 N 2
U0TCTL = SSEL0;// + SSEL1; // UCLK = SMCLK
baudrate = bps;
bps = (bps-1)*3;
U0BR0 = br_table[bps++];
U0BR1 = br_table[bps++];
U0MCTL = br_table[bps];
ME1 = URXE0 + UTXE0; // 允许发送和接收
U0CTL -= SWRST;
IE1 |= URXIE0 + UTXIE0; // 使能 USART0 RX 中断
P3SEL |= 0x30; // P3.4,5 = USART0 TXD/RXD
P3DIR |= 0x10; // P3.4 为输出
P3OUT |= 0x30;
}
void ADC12_init( void )