中断返回值的问题
如果我想在中断中返回一个值该怎么解决呢?
返回的地方在下方标注???????????地方
#pragma vector=UART0RX_VECTOR //接受中断处理
__interrupt void receive_isr (void)
{
inter_num++;
if((inter_num==1)&&(RXBUF0==0x88)) //单片机发送数据到PC机
{
send[0]=RXBUF0;
TXBUF0=0xDD;
ME1|=UTXE0;
//IE1|=UTXIE0;
}
if((inter_num!=1)&&(*send==0x88))
{
*(send+inter_num-1)=RXBUF0;
if(inter_num==2) //接受2B的数据(0X88,0X99或者0XCC)
{
IE1&=~URXIE0;
inter_num=0;
send_sign=1;
return send_sign; ???????????????
}
}
if((inter_num==1)&&(RXBUF0==0x55))
{
*receive=RXBUF0;
TXBUF0=0xDD;
ME1|=UTXE0;
// IE1|=UTXIE0;
}
if((inter_num!=1)&&(*receive==0x55))//PC发送数据到单片机
{
if(RXBUF0==0xBB)IE1&=~URXIE0;
receive[inter_num-1]=RXBUF0;
if(inter_num==26)
{
inter_num=0;
IE1&=~URXIE0;
receive_sign=1;
return receive_sign;
}
}
}
[解决办法]
老兄,中断不能有返回值的!!!!