【正文】
通信協(xié)議又要分固定長(zhǎng)度和不定長(zhǎng)度兩種本文所介紹的協(xié)議屬于簡(jiǎn)單的固定字長(zhǎng)的通信協(xié)議!單片機(jī)與上位機(jī)通信協(xié)議的制定單片機(jī)和上位機(jī)的串口通信協(xié)議分為上行協(xié)議和下行協(xié)議,要分別制定!上行協(xié)議,即由單片機(jī)向上位機(jī)發(fā)送數(shù)據(jù)。下行協(xié)議由四個(gè)字節(jié)構(gòu)成 //據(jù),需要時(shí)可直接調(diào)用{rx_buffer[rx_counter]=data。rx_counter++。switch(rx_counter)case 4:}ucWorkStatue=rx_buffer[2]。 break。}//隨后進(jìn)行執(zhí)行指令{//定義串口發(fā)送緩沖區(qū)volatile unsigned char tx_wr_index=0,tx_rd_index=0,tx_counter=0。asm(cli)。 DATA_REGISTER_EMPTY)==0))}//發(fā)送中斷服務(wù)程序ISR(USART_TXC_vect)//USART發(fā)送數(shù)據(jù)中斷{tx_counter。{ (new MethodInvoker(delegate int inNumSData=0。 try //串行數(shù)據(jù)處理 case TEMVAL: { } { i RECEIVE_LENTH。 { case TEMVAL: } switch (BReceiveTemp[1]) dat