關于手把手教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); //傳遞數據幀,調用動作執行函數
}
}
以下是單片機原代碼
|