打印

串口接受的疑问??

[复制链接]
1517|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wswh2o|  楼主 | 2008-1-22 15:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
INT32S uartgetc(UART_HANDLER port)
{
    INT32S st;
    
    if(port->recnull)
    {
        st=-1;
    }
    else
    {
        st=port->recfifo[port->rechead];
        port->rechead++;
        port->rechead%=UART_FIFO_SIZE;
        port->recfull=0;
        if(port->rechead==port->recend)
        {
            port->recnull=1;
        }
    }
    return st;
}

-1也就是0xff,如果接收到0xff是不是就会出错?!

相关帖子

沙发
dld2| | 2008-1-22 15:19 | 只看该作者

既然返回类型是INT32S

-1是0xffffffff。

不过个人不喜欢这样的写法。

使用特权

评论回复
板凳
wswh2o|  楼主 | 2008-1-22 15:20 | 只看该作者

没有问题

因为st是32位的变量,-1=0xffffffff.
如果是8位就要出错啦

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

101

主题

925

帖子

1

粉丝