Other Parts Discussed in Thread: ENERGYTRACE
器件型号: MSP430G2553
主题中讨论的其他部件: ENERGYTRACE
uint16_t 超时= 5000;
ADC10CTL0 = ADC10SHT_2 | ADC10ON | ADC10IE;
ADC10CTL1 =通道| ADC10SSEL_3;
IF (channel = INCH_1) ADC10AE0 |= BIT1;
IF (channel = INCHION_3) ADC10AE0 |= BIT3;
IF (channel = INCHION_5) ADC10AE0 |= BIT5;
ADC10CTL0 |= ENC | ADC10SC;
__bis_SR_register (LPM0_bits | GIE); //睡眠、直到 ADC 完成
while (ADC10CTL1 和 ADC10BUSY)&&- TIMEOUT);
ADC10CTL0 且=~ENC;
超时= 5000;
while (ADC10CTL1 和 ADC10BUSY)&&- TIMEOUT);
ADC10CTL0 &=~(ADC10ON | ADC10IE | ADC10SC);
ADC10AE0 = 0;
这是我的代码。 我发现有一些奇怪的错误、比如我执行此测量后、电流消耗始终保持在 330uA 左右。
这里、我已将装置置于 lpm0 模式以等待 ADC 结果、但我的 MCU 固件也有其他中断、例如 port 和 i2c。 因此、我还 在睡眠后执行繁忙检查、然后执行 ADC 停止和禁用。
我的问题是为什么 ADC 在我未使用时仍然通电。 我尝试使用 ADC10SSEL_3 和 ADC10SSEL_0 都有相同的问题。
我的应用是、一旦完成所有 ADC 和其他活动、就会进入 lpm4 模式、这时会出现高电流 330uA 等问题