打印
[STM32F1]

没有中断子程序

[复制链接]
463|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xxmmi|  楼主 | 2021-5-8 23:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
dc, ADC, AD, ADC1, TE, se
如果打开中断,并且打开总中断,但是没有中断子程序,那么该怎样执行?
比如:官方给的2553中ADC10程序:
#include  "stm32F0g2553.h"

long temp;
long IntDegF;
long IntDegC;

void main(void)
{
  WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
  //Configure ADC10
  ADC10CTL1 = INCH_10 + ADC10DIV_3;         // Choose ADC Channel as Temp Sensor
  ADC10CTL0 = SREF_1 + ADC10SHT_3 + REFON + ADC10ON + ADC10IE;        //Choose ADC Ref source
  __enable_interrupt();                     // Enable interrupts.
  TACCR0 = 30;                              // Delay to allow Ref to settle
  TACCTL0 |= CCIE;                          // Compare-mode interrupt.
  TACTL = TASSEL_2 | MC_1;                  // TACLK = SMCLK, Up mode.
  LPM0;                                     // Wait for delay.
  TACCTL0 &= ~CCIE;
  __disable_interrupt();                       // Disable timer Interrupt
  while(1)
  {
    ADC10CTL0 |= ENC + ADC10SC;             // Sampling and conversion start
    __bis_SR_register(LPM0_bits + GIE);        // LPM0 with interrupts enabled

    // oF = ((A10/1024)*1500mV)-923mV)*1/1.97mV = A10*761/1024 - 468
    temp = ADC10MEM;
    IntDegF = ((temp - 630) * 761) / 1024;

    // oC = ((A10/1024)*1500mV)-986mV)*1/3.55mV = A10*423/1024 - 278
    temp = ADC10MEM;
    IntDegC = ((temp - 673) * 423) / 1024;

    __no_operation();                       // SET BREAKPOINT HERE
  }
}
里面呢,ADC10和TIMERA出现中断,但是没有中断程序,中断之后是顺序执行吗?

使用特权

评论回复
沙发
morrisk| | 2021-5-8 23:08 | 只看该作者
也就是说中断是一个空函数,进去就出来了,目的是用来唤醒LPM0低功耗模式。

使用特权

评论回复
板凳
zyf部长| | 2021-5-8 23:11 | 只看该作者
,中断嵌套的也需要注意的,这个就是要看中断优先级的

使用特权

评论回复
地板
xxrs| | 2021-5-8 23:12 | 只看该作者
这个有中断与查询两种方式的。还有,楼主的头文件可能是写错了吧

使用特权

评论回复
5
yinxiangh| | 2021-5-8 23:15 | 只看该作者
这个是不是到中断子程序就跳过去了。。

使用特权

评论回复
6
zyf部长| | 2021-5-8 23:20 | 只看该作者
进入中断服务程序,程序为空就过去了啊

使用特权

评论回复
7
kangzj| | 2021-5-8 23:22 | 只看该作者
那会一直进入中断子程序,再出来,往复循环。。

使用特权

评论回复
8
zyf部长| | 2021-5-8 23:24 | 只看该作者
因为你没有清理中断标志,会一直进去。。里面没内容当然退回来,好比是个死循环。

使用特权

评论回复
9
gongche| | 2021-5-8 23:26 | 只看该作者
楼主跑完测试,效果如何

使用特权

评论回复
10
jlyuan| | 2021-5-8 23:28 | 只看该作者
不是没有,是空的

使用特权

评论回复
11
chuxh| | 2021-5-8 23:30 | 只看该作者
系统是默认了中断入口了,但是你程序里没有为入口后提供操作,那肯定就会一直中断

使用特权

评论回复
12
dengdc| | 2021-5-8 23:33 | 只看该作者
一直在中断里悬空

使用特权

评论回复
13
houcs| | 2021-5-8 23:35 | 只看该作者
表面看程序可能卡住。

使用特权

评论回复
14
xxmmi|  楼主 | 2021-5-8 23:38 | 只看该作者
其实还是不大明白,我再琢磨琢磨吧,多谢了哈

使用特权

评论回复
15
heimaojingzhang| | 2021-6-2 12:06 | 只看该作者
自己写一个中断子程序啊

使用特权

评论回复
16
keaibukelian| | 2021-6-2 12:08 | 只看该作者
能进入中断吗

使用特权

评论回复
17
labasi| | 2021-6-2 12:10 | 只看该作者
中断里边有一个处理代码 需要自己写

使用特权

评论回复
18
paotangsan| | 2021-6-2 12:12 | 只看该作者
这是卡在循环里边了啊

使用特权

评论回复
19
renzheshengui| | 2021-6-2 12:13 | 只看该作者
循环里边的代码有问题

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

369

主题

4278

帖子

2

粉丝