历史上的今天
今天是:2024年10月15日(星期二)
2019年10月15日 | MSP430F1232中断学习
2019-10-15 来源:eefocus
ADC10中断:
和定时器一样,ADC10也有中断请求的能力,如果不使用DCT(ADC10DCT1=0),当转换结果装载到ADC10MEM时,ADC10中断标志位即ADC10IFG置1。如果使用DCT,当DCT设定的所有转换完成之后,中断标志为置1。
大概过程是这样的:
//对于中断来说,当每次两个整个数据块都传递完成时,中断标志置1,此时产生中断,让CPU跳出低功耗状态,继续执行进入低功耗后续没有执行的代码
//又继续使能AD转换,CPU又进入低功耗状态,由于AD转换独立于CPU,当转换完成时再次进入中断,跳出低功耗,这样不断进入跳出,实现低功耗。
//所以低功耗跳出之后,以下应该写串口传输的代码,将转换完的数字量给USART
int main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
ADC10CTL1 = INCH_1 + CONSEQ_1; // A1/A0, single sequence
ADC10CTL0 = ADC10SHT_1 + MSC + ADC10ON + ADC10IE + REFON + REF2_5V; //时钟源分频+连续
ADC10DTC1 = 0x02; // 2 conversions
ADC10AE |= 0x03; // P2.1,0 ADC10 option select
for (;;)
{
ADC10CTL0 &= ~ENC;
while (ADC10CTL1 & BUSY); // Wait if ADC10 core is active
ADC10SA = 0x200; // Data buffer start
ADC10CTL0 |= ENC + ADC10SC; // Sampling and conversion start
__bis_SR_register(CPUOFF + GIE); // LPM0, ADC10_ISR will force exit
//AD把两路转换完成,给了ADC10SA,控制将长度为2的数据块放到某个地址中,那么可以从地址中取出转换完成的数据
//一个块放着两个转换完的数据,每个转换完的数据长度是2个字节,因为MEM长度是16位,一个地址是一个字节,现在的地址是在0x200的基础上加4
//但是这个地址是个什么意思不太明白
//对于中断来说,当每次两个整个数据块都传递完成时,中断标志置1,此时产生中断,让CPU跳出低功耗状态,继续执行上面的for循环
//继续开始转换,由于AD转换独立于CPU,所以CPU又进入低功耗状态,当转换完成时再次跳出低功耗,这样不断进入跳出,实现低功耗。
//所以低功耗跳出之后,以下应该写串口传输的代码,将转换完的数字量给USART
//....
}
}
// ADC10 interrupt service routine
#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
#pragma vector=ADC10_VECTOR
__interrupt void ADC10_ISR (void)
#elif defined(__GNUC__)
void __attribute__ ((interrupt(ADC10_VECTOR))) ADC10_ISR (void)
#else
#error Compiler not supported!
#endif
{
__bic_SR_register_on_exit(CPUOFF); // Clear CPUOFF bit from 0(SR)
}
史海拾趣
|
概述 直接数字频率合成技术(Direct Digital Frequency Synthesis,即DDFS,一般简称DDS),是从相 位概念出发直接合成所需要波形的一种新的频率合成技术。目前各大芯片制造厂商都相继推出采用先进 CMOS工艺生产的高性能、多功能的DDS芯 ...… 查看全部问答> |
|
请问各位:基于PID算法的有刷直流电机PWM调速系统中对有刷直流电机调速用到的算法是模拟 PID控制原理还是增量式PID控制或者别的PID控制原理?能否将PID算法式子告诉我?谢谢各位了!!QQ:286410824… 查看全部问答> |
|
PC系统为2000,所用工具是EVC3.0 PDA为操作系统为WINCE,PPC2002,所用连接软件是ActiveSync,编译一个没有错误的程序时,在PDA上显示 Application *.EXE has performed an illegal operation and will be shut down .If the problem persists,con ...… 查看全部问答> |
|
我在使用S12XS256和S12P128 芯片的时候,经常遇到的故障是VCC与GND短路,此时单片机已经烧掉了。但我在使用的过程中没有什么非法操作啊,为什么会出现这种情况?哪位高手遇到过这样的问题,能否指点一下。 困惑中!!!… 查看全部问答> |
|
听说STM32F103VCT6的Load是采用串口升级的,那我们设备与外通讯仅仅有USB接口,如果我们用IAP方式进行升级,万一出现意外擦除了,那岂不是很麻烦! 有人碰到这个问题吗?怎么解决呢? 谢谢了!… 查看全部问答> |
|
有一个STM32软件项目外包,要求有过STM32的项目经验,能熟练使用相关的开发工具,要求在北京,由于项目比较小,希望个人承接,非诚勿扰。联系QQ:1452318948 联系时请注明:STM32开发。… 查看全部问答> |




