工具/软件:Code Composer Studio
你好,这是 haribrishna
目前我正在使用低功耗模式(MSP430FR5969)、因此在我的程序中、我每10次从 ADC12B 引脚读取一次 ADC 上的值。minutes..before 上的开关电流大约为60uA。。。这对我来说已经足够了。。。。。在完成任务后、在 ADC 上切换后、输入 LPM3模式、但现在它为450uA..it 提供了大约400uA 的电流、变为高电平...并且 ADC 位也在切换、但我仍然得到400..
这是我在程序中使用的代码。
P4SEL0 |= BIT1;
ADC12CTL0 = ADC12SHT0_2 | ADC12ON;//采样时间、S&H=16、ADC12打开
ADC12CTL1 = ADC12SHP;//使用采样计时器
ADC12CTL2 |= ADC12RES_2;// 12位转换结果
ADC12MCTL0 |= ADC12INCH_9;// A1 ADC 输入选择;Vref=AVCC
ADC12IER0 |= ADC12IE0;//启用 ADC 转换完成中断
ADC12CTL0 |= ADC12ENC | ADC12SC;//开始采样/转换
VIN=(n*3.24)/4096;
#if defined (__TI_Compiler_version__)|| Defined (__IAR_systems_ICC__)
#pragma vector = ADC12_vector
_interrupt void ADC12_ISR (void)
#Elif defined (_GNU_)
void __attribute__((interrupt (ADC12_vector)) ADC12_ISR (void)
其他
错误编译器不受支持!
#endif
{
switch (__evo_in_range (ADC12IV、ADC12IV_ADC12RDYIFG))
{
情况 ADC12IV_ADC12IFG0://向量12:ADC12MEM0中断
N=ADC12MEM0;
ADC12CTL0 &=~(ADC12ENC | ADC12SC);
中断;//从0 (SR)清除 CPUOFF 位
ADC12IV_ADC12IFG1案例:中断;//向量14:ADC12MEM1
默认值:break;
}
}
完成此任务后、我将使用该寄存器来关闭 ADC。
ADC12CTL0 &=~ADC12ENC;
ADC12CTL0 &=~ADC12ON;
ADC12CTL0^= ADC12CTL0;
ADC12IER0 &=~ADC12IE0
_bis_SR_register (LPM3_bits);
这有什么问题...
任何人都可以使用 ADC12B 提供 LPM4代码。