关于手把手教51的教程里,关于485那章程序有个疑问
这个串口驱动函数里 len = UartRead(buf, sizeof(buf)-2); //将接收到的命令读取到缓冲区中这行为什么要把sizeof(buf)-2呢
/* 串口驱动函数,监测数据帧的接收,调度功能函数,需在主循环中调用 */
void UartDriver()
{
unsigned char len;
unsigned char pdata buf[40];
if (flagFrame) //有命令到达时,读取处理该命令
{
flagFrame = 0;
len = UartRead(buf, sizeof(buf)-2); //将接收到的命令读取到缓冲区中
UartAction(buf, len); //传递数据帧,调用动作执行函数
}
}
以下是单片机原代码
|