在中断中向串口发送数据,*** WARNING L15: MULTIPLE CALL TO SEGMENT
我用51核的单片机,在其外部中断中,通过串口向电脑发送数据,以监测程序运行情况,
现在程序报:*** WARNING L15: MULTIPLE CALL TO SEGMENT
void INT0_PRG() interrupt 0
{
if (TF0) TF0 = 0;
Send_RS232_PC_Byte(TH0);
}
不知道若 Send_RS232_PC_Byte(TH0);
用的时间过多,在中断中,会发什么情况,
程序将如何执行了,? 你的MCU 不支持回调,中断中的函数另外抄一遍就可以了。 将该函数定义允许回调,可重入即可! 会不会发生如下,当第一个中断还没有执行完,又来一个中断,
去执行第二个中断了, Send_RS232_PC_Byte(TH0);
这个函数在中断外部也被别的函数调用了。51里面用回调貌似不好用。还是像2楼说的另外写一个中断里面发送的函数好了。
页:
[1]