當前位置:首頁 » 存儲配置 » 怎麼進行串口協議配置

怎麼進行串口協議配置

發布時間: 2022-07-22 15:33:27

A. 如何編寫自己的串口通訊協議

所謂的串口通信協議,其實,就是串口通信時,相互的一種聯系方式。
至於內容完全可以根據自己的需要來制定。
包括:首先確定波特率,是否有奇偶校驗,一般都不用,比較麻煩,但可以加一個位元組的校驗和或校驗字。
其次,多機通信時,要確定每個機器的地址,雙機通信就不用了。
然後是聯系方式,即通信時,是否用握手信息,互相交換聯系信號,為了加密,還可以交換密碼。
最簡單的就是:發一幀數據時用幾個位元組,帶不帶校驗和,起始位元組是什麼,結束位元組是什麼,關鍵的命令字是什麼,數據位元組是什麼。命令字表示什麼動作,數據表示狀態。反正都是自己確定的,怎麼編寫協議都 行的。

B. CC2530的雙串口在協議棧中怎麼配置

一個口使用DMA方式,另一個口使用ISR方式,配置好初始化,修改hal_board_cfg.h內關於DMA和ISR的相關設置,修改代碼如下
#if HAL_UART
// Always prefer to use DMA over ISR.
#if HAL_DMA
#ifndef HAL_UART_DMA
#if (defined ZAPP_P1) || (defined ZTOOL_P1)
#define HAL_UART_DMA 1
#elif (defined ZAPP_P2) || (defined ZTOOL_P2)
#define HAL_UART_DMA 2
#else
#define HAL_UART_DMA 1
#endif
#endif
#define HAL_UART_ISR 2
#else
#ifndef HAL_UART_ISR
#if (defined ZAPP_P1) || (defined ZTOOL_P1)
#define HAL_UART_ISR 1
#elif (defined ZAPP_P2) || (defined ZTOOL_P2)
#define HAL_UART_ISR 2
#else
#define HAL_UART_ISR 1
#endif
#endif
#define HAL_UART_DMA 0
#endif
這樣就選擇了port0 採用DMA方式,port1採用ISR方式。
接下來是在應用文件中初始化兩個串口。

//==========================================================================
// 串口0初始化函數
//==========================================================================
static void FS_Uart_Init(void)
{
halUARTCfg_t uartConfig;

uartConfig.configured = TRUE; // 2x30 don't care - see uart driver.
uartConfig.baudRate = HAL_UART_BR_115200;
uartConfig.flowControl = FALSE;
uartConfig.flowControlThreshold = 256; // 2x30 don't care - see uart driver.
uartConfig.rx.maxBufSize = 70; // 2x30 don't care - see uart driver.
uartConfig.tx.maxBufSize = 256; // 2x30 don't care - see uart driver.
uartConfig.idleTimeout = 6; // 2x30 don't care - see uart driver.
uartConfig.intEnable = TRUE; // 2x30 don't care - see uart driver.
uartConfig.callBackFunc = FS_Uart_CallBack;
HalUARTOpen (HAL_UART_PORT_0, &uartConfig);
}
//==========================================================================
// 串口1初始化函數
//==========================================================================
static void FS_Uart1_Init(void)
{
halUARTCfg_t uartConfig;

uartConfig.configured = TRUE; // 2x30 don't care - see uart driver.
uartConfig.baudRate = HAL_UART_BR_115200;
uartConfig.flowControl = FALSE;
uartConfig.flowControlThreshold = 32; // 2x30 don't care - see uart driver.
uartConfig.rx.maxBufSize = 32; // 2x30 don't care - see uart driver.
uartConfig.tx.maxBufSize = 32; // 2x30 don't care - see uart driver.
uartConfig.idleTimeout = 6; // 2x30 don't care - see uart driver.
uartConfig.intEnable = TRUE; // 2x30 don't care - see uart driver.
uartConfig.callBackFunc = FS_Uart_CallBack; 指定串口回調函數
HalUARTOpen (HAL_UART_PORT_1, &uartConfig);
}
串口函數的讀出
從以上初始化代碼中很明顯的看到,兩個port口採用了兩個初始化函數但去採用了同一個回調函數,實際上也只能採用這一個回調函數
串口的讀出:
//====================================================================
// @brief 串口回調函數
//====================================================================
static void FS_Uart_CallBack(uint8 port,uint8 event)
{

int i ;
//(port == HAL_UART_PORT_0 )&&
if(( event & ( HAL_UART_RX_FULL | HAL_UART_RX_ABOUT_FULL | HAL_UART_RX_TIMEOUT ) ) )
{
if(port == HAL_UART_PORT_0)
{
HalUARTRead(HAL_UART_PORT_0, &i8_uart_buf[count], len); //讀取串口數據到buf指向的內存
//此處添加數據解析函數
}
else//port == HAL_UART_PORT_1
{
i8_uart1_len = Hal_UART_RxBufLen(HAL_UART_PORT_1); //取出本次接收到的字元長度
HalUARTRead(HAL_UART_PORT_1, i8_uart1_buf, i8_uart1_len);
osal_set_event( GenericApp_TaskID, GENERICAPP_FS_UART1_CALLBACK );
}
}

}

C. 如何用協議串口通信

串口通信的概念非常簡單,串口按位(bit)發送和接收位元組。盡管比按位元組(byte)的並行通信慢,但是串口可以在使用一根線發送數據的同時用另一根線接收數據。
什麼是串口
串口是計算機上一種非常通用的設備通信協議(不要與通用串列匯流排Universal SerialBus或者USB混淆)。大多數計算機包含兩個基於RS232的串口。串口同時也是儀器儀表設備通用的通信介面;很多GPIB兼容的設備也帶有RS-232口。同時,串口通信協議也可以用於獲取遠程採集設備的數據。
串口通信的概念非常簡單,串口按位(bit)發送和接收位元組。盡管比按位元組(byte)的並行通信慢,但是串口可以在使用一根線發送數據的同時用另一根線接收數據。它很簡單並且能夠實現遠距離通信。比如IEEE488定義並行通行狀態時,規定設備線總長不得超過20米,並且任意兩個設備間的長度不得超過2米;而對於串口而言,長度可達1200米。
典型地,串口用於ASCII碼字元的傳輸。通信使用3根線完成:(1)地線,(2)發送,(3)接收。由於串口通信是非同步的,埠能夠在一根線上發送數據同時在另一根線上接收數據。其他線用於握手,但是不是必須的。串口通信最重要的參數是比特率、數據位、停止位和奇偶校驗。對於兩個進行通信的埠,這些參數必須匹配:
a,比特率:這是一個衡量通信速度的參數。它表示每秒鍾傳送的bit的個數。例如300波特表示每秒鍾發送300個bit。當我們提到時鍾周期時,就是指比特率,例如如果協議需要4800波特率,那麼時鍾是4800Hz。這意味著串口通信在數據線上的采樣率為4800Hz。通常電話線的比特率為14400,28800和36600。比特率可以遠遠大於這些值,但是波特率和距離成反比。高比特率常常用於放置的很近的儀器間的通信,典型的例子就是GPIB設備的通信。
b,數據位:這是衡量通信中實際數據位的參數。當計算機發送一個信息包,實際的數據不會是8位的,標準的值是5、7和8位。如何設置取決於你想傳送的信息。比如,標準的ASCII碼是0~127(7位)。擴展的ASCII碼是0~255(8位)。如果數據使用簡單的文本(標准ASCII碼),那麼每個數據包使用7位數據。每個包是指一個位元組,包括開始/停止位,數據位和奇偶校驗位。由於實際數據位取決於通信協議的選取,術語「包」指任何通信的情況。
c,停止位:用於表示單個包的最後一位。典型的值為1,1.5和2位。由於數據是在傳輸線上定時的,並且每一個設備有其自己的時鍾,很可能在通信中兩台設備間出現了小小的不同步。因此停止位不僅僅是表示傳輸的結束,並且提供計算機校正時鍾同步的機會。適用於停止位的位數越多,不同時鍾同步的容忍程度越大,但是數據傳輸率同時也越慢。
d,奇偶校驗位:在串口通信中一種簡單的檢錯方式。有四種檢錯方式:偶、奇、高和低。當然沒有校驗位也是可以的。對於偶和奇校驗的情況,串口會設置校驗位(數據位後面的一位),用一個值確保傳輸的數據有偶個或者奇個邏輯高位。例如,如果數據是011,那麼對於偶校驗,校驗位為0,保證邏輯高的位數是偶數個。如果是奇校驗,校驗位為1,這樣就有3個邏輯高位。高位和低位不真正的檢查數據,簡單置位邏輯高或者邏輯低校驗。這樣使得接收設備能夠知道一個位的狀態,有機會判斷是否有雜訊干擾了通信或者是否傳輸和接收數據是否不同步。

詳情參考
http://ke..com/link?url=_n9oFTop1d9tnu2aGP_dJBUbIQDUq7X9pppRdzS6G-Top4zB0iwYv_

D. SecureCRT 用串口線連接交換機的時候該怎麼設置

1、首先打開計算機,在計算機內打開SecureCRT。

(4)怎麼進行串口協議配置擴展閱讀

SecureCRT一款用於連接運行包括Windows、UNIX和VMS的理想工具。通過使用內含的VCP命令行程序可以進行加密文件的傳輸。

有流行CRTTelnet客戶機的所有特點,包括:自動注冊、對不同主機保持不同的特性、列印功能、顏色設置、可變屏幕尺寸、用戶定義的鍵點陣圖和優良的VT100,VT102,VT220和ANSI競爭.能從命令行中運行或從瀏覽器中運行。

其它特點包括文本手稿、易於使用的工具條、用戶的鍵點陣圖編輯器、可定製的ANSI顏色等。SecureCRT的SSH協議支持DES,3DES和RC4密碼和密碼與RSA鑒別。

廣泛的終端模擬:

VT100,VT102,VT220,ANSI,SCO ANSI,Xterm,Wyse 50/60

和 Linux console 模擬(帶有 ANSI 顏色)。

優秀的會話管理特性:

新的帶標簽的用戶界面和 Activator 托盤工具,最小化桌面的雜亂。

會話設置可以保存在命名的會話中。

協議支持:

支持 SSH1,SSH2,Telnet,RLogin,Serial,和 TAPI 協議。

E. 請問labview如何設置串口通信協議的

我不知道你下位機用的是什麼,但是,肯定是以下幾步了:

1.Labview發不同的指令給下位機;

2.下位機收到指令,執行對應的命令,控制泵的流量。

所以,歸結其來,就是labview通過串口給下位機發送數據。

設置通信協議可用「VISA配置串口」來設置通信協議,其他的串口讀寫也用VISA裡面的模塊。

我給你傳個圖,你就知道了,有問題可以和我聯系。

F. SecureCRT串口怎麼設置

點擊下圖紅色箭頭所指的按鈕。 在出現的「Connect」界面中,點擊下圖紅色箭頭設置的按鈕。 然後選擇「Serial」選項。 接著,點擊「下一步」按鈕。 對照下面的參數,進行串口的配置。 對配置的串口連接進行命名。 然後點擊下圖紅框中的「Connect」按鈕。 如下圖所示,就是已經連接到Cisco交換機上的圖示。

G. 51單片機如何進行串口通信,並制定通信協議.

連線就是
交叉連接
A的TX到B的RX
A的RX到B的TX,還有一根地線
串口線就這三根就夠用了
然後就是初始化A和B的串口,設置波特率,工作模式,開中斷等等
A和B的通信,你先調試一台機器,比如A,和電腦連接,用串口調試助手(網上找)查看A的收發數據是否正常,然後A和B聯調
串口通信距離不遠一般不會出錯,波特率較低,除了奇偶校驗,你可以指定一個簡單的通信協議,來驗證是否數據正常
這類程序網上很多,你不清楚就搜索51串口程序,出來一大堆,找個有注釋的看看,調試一下試一試
祝你順利
在網上找了一下,這兩個你參考一下,注釋很詳細
串口發送

熱點內容
左游手柄助手2腳本 發布:2024-05-19 11:40:28 瀏覽:1001
挖礦需要什麼配置 發布:2024-05-19 11:38:02 瀏覽:894
eclipse導出ant腳本 發布:2024-05-19 11:20:28 瀏覽:98
如何改變vivo手機賬戶密碼 發布:2024-05-19 10:56:07 瀏覽:376
sql的length函數 發布:2024-05-19 10:55:15 瀏覽:545
資料庫管理系統設計報告 發布:2024-05-19 10:49:50 瀏覽:684
linux怎麼將驅動編譯進內核 發布:2024-05-19 10:23:47 瀏覽:768
c語言讀程序題 發布:2024-05-19 10:13:52 瀏覽:675
新的安卓手機怎麼樣下載微信 發布:2024-05-19 10:05:06 瀏覽:879
加9的演算法 發布:2024-05-19 10:04:15 瀏覽:264