zpzhanglove 发表于 2013-3-5 16:46:31

串口中断接收数据后接着发送的问题

想问一下我串口中断接收数据,然后紧接着在串口中断里面将数据发送出去, 可以么    示意代码如下

void UART(void)interrupt 16
{
    if(RI0) ;
    {
   RI0 = 0;
    ch = SBUF0;
    }
   
    SBUF0 = ch;
    while(TI0 == 0);
    TI0 = 0;
}

只接收一个字节。这样子可以么谢谢了

zpzhanglove 发表于 2013-3-5 17:11:59

自己顶一下

ningming 发表于 2013-3-5 17:51:53

当然可以,完全可以,100%可以。

BDXing6 发表于 2013-3-5 20:30:00

看你用在什么场合下,多机通信中不可以。

lcw_swust 发表于 2013-3-6 09:23:56

本帖最后由 lcw_swust 于 2013-3-6 09:25 编辑

貌似有问题,建议这样用:
void UART(void)interrupt 16
{

if(RI0)
    {
   RI0 = 0;
    ch = SBUF0;
    SBUF0 = ch;
    }
    if(TI0)TI0 = 0;
}

或者收到的数放入环形队列,主函数里去读取队列再发出去
页: [1]
查看完整版本: 串口中断接收数据后接着发送的问题