關(guān)于手把手教51的教程里,關(guān)于485那章程序有個疑問
這個串口驅(qū)動函數(shù)里 len = UartRead(buf, sizeof(buf)-2); //將接收到的命令讀取到緩沖區(qū)中這行為什么要把sizeof(buf)-2呢
/* 串口驅(qū)動函數(shù),監(jiān)測數(shù)據(jù)幀的接收,調(diào)度功能函數(shù),需在主循環(huán)中調(diào)用 */
void UartDriver()
{
unsigned char len;
unsigned char pdata buf[40];
if (flagFrame) //有命令到達時,讀取處理該命令
{
flagFrame = 0;
len = UartRead(buf, sizeof(buf)-2); //將接收到的命令讀取到緩沖區(qū)中
UartAction(buf, len); //傳遞數(shù)據(jù)幀,調(diào)用動作執(zhí)行函數(shù)
}
}
以下是單片機原代碼
|