單片機與上位機通信協議的製定方法(doc 7頁)
單片機與上位機通信協議的製定方法(doc 7頁)內容簡介
單片機與上位機通信協議的製定方法內容提要:
單片機和上位機的串口通信協議分為上行協議和下行協議,要分別製定!
上行協議,即由單片機向上位機發送數據。
下行協議,即由上位機向單片機發送數據。
而通信協議又要分固定長度和不定長度兩種
本文所介紹的協議屬於簡單的固定字長的通信協議!
下述函數是C#中封裝的串口通信類中的發送函數的封裝
public void SerSendCommu(byte orderDef, byte data)//參數1為命令字,參數二為要發送的數
//據,需要時可直接調用
{
Byte[] BSendTemp = new Byte[SEND_LENTH];
BSendTemp[0] = PRE;
BSendTemp[1] = orderDef;
BSendTemp[2] = data;
BSendTemp[3] = END;
this.serialPort1.Write(BSendTemp, 0, SEND_LENTH);
}
下位機中用中斷方式接收字符,本文用的是GCC語言,下麵是串口接收數據中斷
ISR(USART_RXC_vect)//串口接收中斷
..............................
單片機和上位機的串口通信協議分為上行協議和下行協議,要分別製定!
上行協議,即由單片機向上位機發送數據。
下行協議,即由上位機向單片機發送數據。
而通信協議又要分固定長度和不定長度兩種
本文所介紹的協議屬於簡單的固定字長的通信協議!
下述函數是C#中封裝的串口通信類中的發送函數的封裝
public void SerSendCommu(byte orderDef, byte data)//參數1為命令字,參數二為要發送的數
//據,需要時可直接調用
{
Byte[] BSendTemp = new Byte[SEND_LENTH];
BSendTemp[0] = PRE;
BSendTemp[1] = orderDef;
BSendTemp[2] = data;
BSendTemp[3] = END;
this.serialPort1.Write(BSendTemp, 0, SEND_LENTH);
}
下位機中用中斷方式接收字符,本文用的是GCC語言,下麵是串口接收數據中斷
ISR(USART_RXC_vect)//串口接收中斷
..............................
用戶登陸
信息技術熱門資料
信息技術相關下載