串口接受的疑问??

[复制链接]
2013|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

主题

924

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部