EDA365电子论坛网

标题: 怎么在定时器中断程序中把中断关上 [打印本页]

作者: tryeverythingop    时间: 2021-3-1 15:36
标题: 怎么在定时器中断程序中把中断关上
如题,我需要在打开定时器5S后进入中断函数:8 c( `9 K8 K$ M$ r& [( @
void interrupt LEDINT() //中断响应函数  大致是150000000为5秒左右 datasheet 30MHZ* Y0 C5 W2 J9 }7 `$ L
{; h% T+ r" i. T- i& q! a9 l8 b8 u
( e& r* A: h# f* W- P9 w
    //CSR&= 0xfffe;                // 关中断 GIE=0" X3 @2 V1 `0 n
# _7 e% o+ H/ W% F: ?6 N
    asm(" NOP 1 ");
' [# O3 ~! t0 E6 E    ICR = 0xFFF0;8 S: o3 d- C! D0 }! {6 Y
    ISR=0x0;
7 s. F$ {% k. L. ]; B' j) }3 ~& _% ?# \    printf("\nok");- L' k0 u) h& H) h" a
    TIMER0_INTCLSTAT=0x3;   // 清除定时器中断标志
7 F: z# C3 l( n2 k1 a    asm(" NOP 1 ");
7 q& j, m0 \& K, i7 R    PWM_1_stop();2 B, s8 Q/ v' r. q4 h" X
    PWM_2_stop();
4 d$ P7 G. W- @* \6 F    PWM_3_stop();+ c+ G: p1 a  @, \0 n0 Z
    PWM_4_stop();& o( H; x9 B6 ?
    PWM_5_stop();# K9 h  |+ X; z. i
    CSR&= 0xfffe;
+ F% U4 P5 e2 Q9 Y6 c6 t: u
9 w$ c9 Y/ |/ l% ]4 O}
  I% W5 U& ]$ K6 A' I# o. X* q. O' R但是我在最后加上一句关闭全局中断,还是会不断地进入终端函数,确定别的地方并没有再次打开,请问怎么办???
6 F2 y8 M6 Q) |- |
作者: embnn    时间: 2021-3-1 16:13
禁止全局中断就行了   楼主   一般没有什么难度吧  
作者: qq666888qqw    时间: 2021-3-1 16:15
直接把定时器的中断停了




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2