XCOM串口調(diào)試助手是一款串口調(diào)試工具,主要用于XCOM串口的調(diào)試,在軟件中可以進行窗口編碼方式的設置,在完成設置之后可以進行保存,在下次使用時可以直接使用該編碼方式,在軟件中每個窗口接收的數(shù)據(jù)都有對應的編碼方式。
軟件功能
1、XCOM串口調(diào)試助手最新版提供簡單的串口調(diào)試方案,用戶可以在軟件幫助你配置調(diào)試的參數(shù)
2、提供連接設備常用的配置,可以設置波特率、設置數(shù)據(jù)位、設置串口操作方式
3、支持發(fā)送設置,對需要調(diào)試的信息發(fā)送
4、支持進制顯示,對發(fā)送的十六進制顯示
5、提供主機配置,你可以設置協(xié)議傳輸?shù)闹鳈C信息
6、擁有重復調(diào)試命令編輯,設置重復測試的信息
7、支持八種調(diào)試方案,輸入八種調(diào)試信息
8、也可以執(zhí)行單條發(fā)送,接收的數(shù)據(jù)可以在軟件查看
9、提供詳細的幫助,讓用戶更了解串口調(diào)試方案
軟件特色
1、XCOM軟件是中文界面,所以使用非常簡單,可以自動查找到調(diào)試的串口
2、串口的信息可以在軟件顯示,可以設置連接串口的方法
3、波特率是可以設置調(diào)整的,方便你為不同的串口配置波特率
4、提供標準的十六進制顯示
5、提供詳細的設置方案
6、通過XCOM軟件可以更好調(diào)試你的串口數(shù)據(jù)
7、可以方便設備開發(fā)人員調(diào)試自己的設備數(shù)據(jù)接收情況
8、適合需要調(diào)試硬件設備通訊方式的朋友使用
9、可以對發(fā)送的字符復制,可以對接收的信息復制
怎么用
很多的用戶都是第一次使用該軟件,第一次進行串口的調(diào)試,不知道軟件的使用方法,下面小編為大家?guī)碥浖氖褂梅椒ń榻B,讓大家對軟件有一個基本的認識,知道軟件中各種設置的作用,和能實現(xiàn)的一些功能。
一、串口設置
1.軟件啟動后,會自動搜索可用的串口,可以顯示詳細的串口信息,由于兼容性原因某些電腦可能不會顯示。
2.超高波特率接收,在硬件設別支持的情況下,可自定義波特率,點“自定義”即可輸入您想要的波特率,不過需要在串口關閉的情況下,才能修改哦。默認可選波特率為1200bps-1382400bps
3.可以選擇為“1、1.5、2”三種停止位.
4.可以選擇“5、6、7、8”四種數(shù)據(jù)長度
5.可選奇,偶校驗,或無校驗
6.支持串口隨時插拔,對于某些硬件設別,由于驅(qū)動兼容性的原因可能不支持,實測CH340無問題,建議手動關閉串口
二、顯示設置
1.16進制顯示,勾選后將顯示16進制的字節(jié),如果之前接收到了數(shù)據(jù),會自動轉(zhuǎn)換,所以當接收的數(shù)據(jù)量比較大的時候,轉(zhuǎn)換會比較慢
2.顯示模式設置,默認為黑色背景,綠色字體。勾選“白底黑字”可以將背景設置為白色,字體為黑色
3.通過勾選”RTS”,”DTR”可以控制當前串口的RTS和DTR輸出
4.勾選“時間戳”選項,可以加入時間戳顯示,需要注意的是,時間戳是以換行回車斷幀,所以,當接收到的數(shù)據(jù)不含“rn”換行回車時,此選項是無效的哦。
5.可以保存接收窗口為任意格式的文件,默認為txt格式的文件
6.點擊清除接收按鈕,可以清除窗口顯示的內(nèi)容,并且清除發(fā)送和接收字節(jié)計數(shù)
三、單條發(fā)送
1.可以在發(fā)送區(qū),發(fā)送您發(fā)送的任意字符
2.支持16進制發(fā)送,勾選16進制發(fā)送的時候?qū)Πl(fā)送區(qū)的內(nèi)容進行16進制和字符互轉(zhuǎn),輸入16進制的時候,支持字節(jié)自動拆分,不需要每輸入一個字節(jié)就輸入一個空格。也就是說,輸不輸入空格隨你
3.勾選發(fā)送新行,將會在發(fā)送內(nèi)容后加入換行回車
4.支持定時發(fā)送,可以自定義發(fā)送周期
5.支持發(fā)送任意格式的文件,可以隨時終止文件的發(fā)送,可以通過下面的進度條查看發(fā)送進度
6.點擊發(fā)送按鈕,即可發(fā)送您想發(fā)送的內(nèi)容,支持快捷鍵“Ctrl+Enter”發(fā)送
7.點擊清除發(fā)送按鈕,可以清除發(fā)送區(qū)的內(nèi)容,并且清除發(fā)送和接收字節(jié)計數(shù)
7.在狀態(tài)欄,可以看到發(fā)送和接收的字節(jié)數(shù),可以讀取當前串口“CTS,DSR,DCD”的狀態(tài),可以顯示當前的系統(tǒng)時間。在狀態(tài)欄的最左邊,有一個開始按鈕,可以調(diào)出系統(tǒng)計算器,可以恢復軟件的默認設置。
四、多條發(fā)送
1.多條發(fā)送,適合有多條指令需要發(fā)送的場合,比如支持AT指令的設備,藍牙,GSM,GPS,WIFI等等,配合ALIENTEK的USMART 可以很方便的調(diào)試代碼
2.可以在任意條目輸入您想發(fā)送的字符,點擊按鈕即可發(fā)送
3.一共有四頁,可以通過“首頁,上一頁,下一頁,尾頁”按鈕來進行頁面的切換
4.勾選發(fā)送新行,將會在發(fā)送內(nèi)容后加入換行回車
5.勾選16進制發(fā)送,可以支持16進制發(fā)送,但是需要注意的是,這里沒有進行16進制驗證,如果包含非16進制字符,將會導致發(fā)送失敗
6.勾選關聯(lián)數(shù)字鍵盤,發(fā)送條目0-9將會關聯(lián)到數(shù)字鍵0-9,在鍵盤上按下響應的按鍵即可發(fā)送??梢苑奖憧刂疲热纭爸悄苘嚒?,“飛行器”等等其他設備。在小鍵盤這里可以看做是方向鍵哦。
7.支持自動循環(huán)發(fā)送,可自定義發(fā)送周期,需要注意的是,沒有勾選的發(fā)送條目將不會被發(fā)送
8.點擊“導入導出條目”按鈕可以很方便的編輯,導入導出條目,查看條目的備注
五、協(xié)議傳輸
1.此協(xié)議是從modbus(rtu)演變而來,可以稱之為modbus的變種。協(xié)議屬于半雙工傳輸?shù)腟end-Ack模式,協(xié)議自帶靈活可配置的自動重發(fā)機制,可配置重發(fā)次數(shù),重發(fā)間隔(即幀周期),多種校驗方式,支持校驗和,異或,CRC8,CRC16校驗,CRC8和CRC16均為查表的方式,效率高,通過這些機制可以有效保證數(shù)據(jù)的傳輸質(zhì)量。支持單次發(fā)送,自動發(fā)送(自定義周期),文件發(fā)送(如,IAP串口升級)三種模式
2.幀格式簡要說明
格式字段長度類型描述
數(shù)據(jù)頭設備地址1BYTE標記設備地址
幀功能1BYTE表示該幀的功能
幀序列1BYTE由上位機自增,0-255循環(huán),下位機響應此字段,若響應有誤,上位機則進入重發(fā)狀態(tài)
有效數(shù)據(jù)長度1BYTE數(shù)據(jù)域的長度0-255
數(shù)據(jù)域數(shù)據(jù)有效數(shù)據(jù)長度BYTE存放有效數(shù)據(jù)
數(shù)據(jù)尾SUM1BYTE全部字節(jié)之和為0
XOR1BYTE全部字節(jié)異或
CRC81BYTECRC8校驗(查表法)
CRC162BYTECRC16校驗(查表法)
3.協(xié)議傳輸分為,上位機的發(fā)送區(qū),和來自下位機的響應區(qū)域。
4.響應區(qū),可以勾選自動換行,顯示將換行,勾選顯示原始幀,將顯示原始幀而不只顯示有效數(shù)據(jù)部分,可以方便大家調(diào)試
5.發(fā)送區(qū),可以配置您要發(fā)送設備的地址,幀功能,幀周期,是否自動發(fā)送,最大重發(fā)次數(shù),選擇校驗方式,以及發(fā)送文件
6.在發(fā)送文件的時候,可以通過配置最大數(shù)據(jù)長度來改變每次發(fā)送的有效數(shù)據(jù)長度
7.單次發(fā)送,自動發(fā)送,文件傳輸,同一時刻只能使用一種功能。
8.當軟件處于重發(fā)狀態(tài)時,可以再次點擊發(fā)送處來終止發(fā)送任務
配置方法
在軟件中對單片機等進行編程時,是非常需要串口助手的額幫助的,很多的用戶并不知道串口硬件的連接方式以及連接之后該怎么進行配置,才能對該單片機進行編程,下面小編為大家?guī)斫坛探榻B,快來看看吧。
一、首先進行串口硬件的連接
1、連接:
將ch340連接到電腦的USB接口上,這是買的一個ch340模塊,網(wǎng)上十幾塊都可以得到。
2、檢查:
找到電腦的”設備管理器“:
打開開始菜單,找到“計算機”;
3、檢查:
找到電腦的”設備管理器“:
單擊右鍵在下拉菜單中選中“設備管理器”。
4、檢查:
找到電腦的”設備管理器“
在電腦的“設備管理器”中查看是否有相應的硬件連接。
如果沒有我們往往要下載ch340的硬件驅(qū)動,可以百度搜索一下,有很多的這樣的驅(qū)動,任意下載一個安裝后,在連接上就可以了。
如果正確連接應該有一下的結(jié)果。
二、軟件配置
1、打開:
串口助手。
2、配置“com”口:
要個設備管理器中對應的com口號一致。
3、配置“波特率”:
要和通訊的協(xié)議一致。同樣還有“停止位”等,這些參數(shù)大都牽涉到通信的協(xié)議,請參考相關的額行規(guī)。 但是大多數(shù)情況下僅僅配置“波特率”。
4、配置其他的功能參數(shù):
比如“16進制顯示”,“白底黑字”等等這些根據(jù)自己的需求選擇。一般就不進行配置的。配置完后打開串口,就OK了。
5、界面簡介:
上面的黑色窗口是顯示接收的數(shù)據(jù)的。
在發(fā)送欄中寫入要發(fā)的數(shù)據(jù),后點擊發(fā)送就可了,注意是否有空格,回車等鍵。
亂碼怎么辦
在軟件中進行串口的調(diào)試時,有些用戶會出現(xiàn)亂碼的情況,那么出現(xiàn)亂碼之后該怎么解決呢?很多的用戶不知道亂碼后的解決方法,下面小編為大家?guī)矸椒ń榻B,快來看看吧。
首先用一個正確的程序試一下確保軟件本身沒有什么問題,
然后再依次檢查波特率和VPB時鐘頻率是否匹配,因為它們不匹配的時候同樣會出現(xiàn)亂碼。
如果最后還是亂碼的話,可能就是程序的問題了,需要檢查程序是否有語法以外的錯誤。
自己今天下午調(diào)了一個串口發(fā)送字符串的程序,就是因為沒有把波特率和VPB時鐘頻率匹配好,導致一直出現(xiàn)亂碼
當 UART_BPS 設為9600,F(xiàn)pclk 為(Fosc/4)*1時是正確的組合,
錯誤一:UART_BPS 設為9600,F(xiàn)pclk為 (Fosc/4)*2,出現(xiàn)了亂碼,
錯誤二:UART_BPS 設為115200,F(xiàn)pclk 為(Fosc/4)*1,出現(xiàn)了亂碼
錯誤三:UART_BPS 設為115200,F(xiàn)pclk 為(Fosc/4)*2,出現(xiàn)了亂碼
程序如下所示:
方法一:
#include
void UART1_Init(void);
void UART1_SendStr(char *Str);
void UART1_SendByte(char byte);
void delayn(unsigned long n);
#define UART_BPS 9600 //設置串口通信波特率
#define Fosc 12000000 //晶振頻率
#define Fpclk (Fosc/4)*1 //VPB時鐘頻率,MD此處公式寫錯了,導致字符串顯示不出
//UART1串口初始化
void UART1_Init(void)
{
//unsigned char Fdiv;
U1FCR=1; //FIFO使能
U1LCR=0x83; //使能訪問除數(shù)鎖存,8位字符長度,1個停止位,禁止奇偶產(chǎn)生和校驗,
//Fdiv=(Fpclk/16)/UART_BPS; //設置波特率
U1DLL=Fpclk/(16*9600); //除數(shù)的底8位
U1DLM=(Fpclk/(16*9600))>>8; //除數(shù)的高8位
U1LCR=0x03; //禁止訪問除數(shù)鎖存器
}
//發(fā)送字符串
void UART1_SendStr(char *Str)
{
while((*Str)!='\0') //遇到結(jié)束符,退出
{
UART1_SendByte(*Str); //發(fā)送數(shù)據(jù)
Str++;
}
}
//發(fā)送單個字符
void UART1_SendByte(char byte)
{
while((U1LSR&0x20)==0); //等待數(shù)據(jù)發(fā)送完畢
U1THR=byte; //寫入數(shù)據(jù)
}
//延時函數(shù)
void delayn(unsigned long n)
{
while(n--);
}
int main(void)
{
PINSEL0=0x00050000; //P0.8,P0.9選擇UART0
UART1_Init(); //UART1串口初始化
while(1)
{
UART1_SendStr("UART1 TEST.\n");
delayn(100000);
}
}
方法二:
#include
void UART1_Init(void);
void UART1_SendStr(char *Str);
void UART1_SendByte(char byte);
void delayn(unsigned long n);
#define UART_BPS 9600 //設置串口通信波特率
#define Fosc 12000000 //晶振頻率
//#define Fcclk (Fosc*4) //系統(tǒng)頻率
#define Fpclk (Fosc/4)*1 //VPB時鐘頻率,MD此處公式寫錯了,導致字符串顯示不出
//unsigned char Fdiv;
typedef unsigned short U16;
/*************************串口1初始化******************************************/
void UART1_Init ()
{
U16 Fdiv;
U0LCR = 0x83; // DLAB = 1,可設置波特率
Fdiv =(Fpclk/16)/UART_BPS;
U0DLL = Fdiv%256;
U0DLM = Fdiv/256;
U0LCR = 0x03;
}
//發(fā)送字符串
void UART1_SendStr(char *Str)
{
while((*Str)!='\0') //遇到結(jié)束符,退出
{
UART1_SendByte(*Str); //發(fā)送數(shù)據(jù)
Str++;
}
}
//發(fā)送單個字符
void UART1_SendByte(char byte)
{
while((U1LSR&0x20)==0); //等待數(shù)據(jù)發(fā)送完畢
U1THR=byte; //寫入數(shù)據(jù)
}
//延時函數(shù)
void delayn(unsigned long n)
{
while(n--);
}
int main(void)
{
PINSEL0=0x00050000; //P0.8,P0.9選擇UART0
UART1_Init(); //UART1串口初始化
while(1)
{
UART1_SendStr("xiao mu lang shi ge da duan dan.haha\n");
delayn(1000000);
}
}
常見問題
打印不出數(shù)據(jù)
原子的戰(zhàn)艦開發(fā)板上的做定時器捕獲實驗,程序源碼下載到板子上運行正常。指示燈正常顯示,打開XCOM識別不來串口,原因:硬件上沒有插USB轉(zhuǎn)串口線;
連接上USB轉(zhuǎn)串口線,軟件上以顯示CH340串口,但是按下按鍵接收串口不顯示數(shù)據(jù)。
排除程序自身問題,查看原理圖,對比原理圖發(fā)現(xiàn)硬件上跳帽沒有連接上。
最終解決,數(shù)據(jù)打印成功:
總結(jié):
1、檢查程序,排除程序問題;
2、有原理圖到實物排除硬件問題。
使用st-link調(diào)試找不到flash
解決:
首先確定芯片選擇正確,我是stm32f407zgt6的開發(fā)板
然后選擇st-link調(diào)試器
點擊右邊的settings選擇和自己開發(fā)板匹配的flash
標簽: 串口調(diào)試
下載地址
精品推薦
-
Altium Designer10破解工具
詳情 -
MasterCAM X9注冊機
詳情 -
Altium Designer綠色版
詳情 -
MasterCAM9.1漢化版
詳情 -
Master Cam 2020
詳情 -
Master Cam 2017完整漢化包
詳情 -
Multisim14元件庫大全
詳情 -
Proteus仿真軟件
詳情 -
奎享雕刻
詳情 -
MAX+plus ii圖形仿真軟件
詳情 -
邁迪三維設計工具集6.0注冊碼破解版
詳情 -
Master Cam 2017
詳情 -
caxacam制造工程師2020破解版補丁
詳情 -
Proteus Pro 8.13中文破解版
詳情 -
Mastercam X6中文破解版
詳情 -
type3軟件免加密狗版
詳情
-
4 Proteus
裝機必備軟件
網(wǎng)友評論