
单片机C语言一个中断的问题
用语言描述就是:在串行中断子程序中,如果发送、接收数据,会不会再次触发中断串行,从而调用自身。用例子描述就是:voidrecieve(void)interrupt4usi...
用语言描述就是:在串行中断子程序中,如果发送、接收数据,会不会再次触发中断串行,从而调用自身。
用例子描述就是:
void recieve(void)interrupt 4 using 2
{ RI=0;
......
SBUF=a;
while(TI!); TI=0;
......
while(RI!); RI=0;
a=SBUF;
}
其中SBUF=a;a=SBUF;这两句会不会产生中断,从而导致再次调用自己。
请明示,谢谢,这个问题困扰我多时,意义重大!
yyh001123说的不错,确实在一般情况下置标志,然后主程序查询比较方便,但是我的程序要求实时性很高,必须在中断里面做这些事情,没办法。 展开
用例子描述就是:
void recieve(void)interrupt 4 using 2
{ RI=0;
......
SBUF=a;
while(TI!); TI=0;
......
while(RI!); RI=0;
a=SBUF;
}
其中SBUF=a;a=SBUF;这两句会不会产生中断,从而导致再次调用自己。
请明示,谢谢,这个问题困扰我多时,意义重大!
yyh001123说的不错,确实在一般情况下置标志,然后主程序查询比较方便,但是我的程序要求实时性很高,必须在中断里面做这些事情,没办法。 展开
展开全部
51单片机,不会在中断过程中,再响应同等级别的中断。
只有退出该中断后,如果刚才的中断申请标志还存在,才会再次进入中断程序。
只有退出该中断后,如果刚才的中断申请标志还存在,才会再次进入中断程序。

2023-06-12 广告
单片机,即单片微控制器,也称为单片微型计算机,是将中央处理器(CPU)、存储器(ROM,RAM)、输入/输出接口和其他功能部件集成在一块 在一个小块的集成电路上,从而实现对整个电路或系统的数字式控制。单片机不是完成某一个逻辑功能的芯片,而是...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
展开全部
尽量不要在中断内运行过多的指令,越少越好.
一般可以在中断子程序内做标志.
主程序要尽可能的短,把子程序都做成模块化结构.
主程序中查询此标志即可,查到标志就知道中断已经产生了.
一般可以在中断子程序内做标志.
主程序要尽可能的短,把子程序都做成模块化结构.
主程序中查询此标志即可,查到标志就知道中断已经产生了.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个不会,你重点看看内部寄存器的结构,看看串口中断是怎么产生的就知道了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询