❶ 串口調試工具怎麼使用
串口調試工具很多,流行的如格西烽火軟體、SSCOM等,使用很簡單,配置串口參數,打開串口,即可進行收發數據。
❷ 怎麼用串口調試工具接收PLC發送的數據
1、在電腦端安裝一個COM-HC的串口調試工具,打開串口調試軟體如下圖所示。
❸ android藍牙串口通訊助手怎麼用
藍牙客戶端通信工具(即:藍牙從機模式),可進行藍牙串口通信測試。能連接單片機及PC的藍牙串口。
手機藍牙串口助手是一個J2ME程序,可以運行在支持藍牙和J2ME的手機上,通過藍牙轉串口模塊的配合使用,可以在手機上控制串口設備,例如modem、LCD顯示屏。
簡單說,你不必太在意這個工具,是開發人員工具,用來讓你手機與其他IT設備連接通訊用的。
當你電腦需要通過藍牙控制 手機 打電話,發簡訊,用到的就是藍牙串口(com)通道。你手機可以通過藍牙關關電腦,也是用的藍牙串口通道。
不用太在意,這些功能用專門軟體實現比較好,不需要在開發。
❹ 在java的web程序中怎麼使用串口通訊
最近在做java串口通訊,主要是用個人電腦通過串口從RS485讀取數據,並通過crc循環冗餘校驗,把接收正確的數據解析,插入資料庫mysql,並用SSH技術把資料庫數據以表格以及圖表形式顯示 x0dx0a 思路: x0dx0a1.為了從RS485讀取數據,由於暫時沒有硬體設備,系統是win7,故採用Virtual Serial Port Drive(VSPD)這塊虛擬串口軟體代替。並下載sscom32.exe模擬串口通信軟體。 x0dx0ax0dx0a2. 要想實現串口通信,用Java實現串口通信(windows系統下),需要用到sun提供的串javacomm20-win32.zip。其中要用到三個文件,配置如下: x0dx0acomm.jar放置到 JAVA_HOME/jre/lib/ext; x0dx0awin32com.dll放置到 JAVA_HOME/bin; x0dx0ajavax.comm.properties 兩個地方都要放 x0dx0ajre/lib(也就是在JAVA文件夾下的jre),JAVA_HOME/jre/lib下 x0dx0a這個配置在我電腦上測試成功,也許不需要這樣麻煩。注意的是,如果你使用myeclipse,因為它自帶jre,你需要在它所在的jre相應位置放dll以及properties文件。 x0dx0ax0dx0a是不是感覺這個很麻煩,還有windows的限制。後來我們下載rxtx這款開源包代替了剛才的comm。不僅windows下可以,linux下也可以。使用方法很簡單,配置如下: x0dx0ax0dx0aRXTXcomm.jar放到JAVA_HOME/jre/lib/ext x0dx0arxtxSerial.dll放到JAVA_HOME/bin x0dx0a如果你使用myeclipse工具,你需要把rxtxSerial.dll放到它自帶的jre里。 x0dx0ax0dx0a3.新建eclipse工程,添加comm.jar或者RXTXcomm.jar包。因為javacomm20-win32.zip包里有樣例SimpleRead.java,可以通過這個例子測試串口是否正確 x0dx0ax0dx0a4.接收數據正確後,根據傳送接收雙方的協議,採用CRC循環校驗,根據傳輸的一方的校驗函數判定是否是正確傳輸 x0dx0ax0dx0a5.把正確結束的數據解析,查看自己指定的通訊規則,然後解析 x0dx0ax0dx0a6.插入資料庫,jdbc插入 x0dx0ax0dx0a7.數據統計,定時統計每小時,每天,每月,每年的平均值,採用quartz服務來實現。 x0dx0ax0dx0a8.建立web工程,採用hibernate3,spring3,dwr技術把資料庫數據動態顯示,圖表採用jfreechart,以及AJAX的運用
❺ vb如何使用串口通訊
用PC機的9針RS232介面,用VB6 含有的MSComm 控制項編程
兩台PC機串列通信串列口的接線圖:
Private Sub Form_Load()
MSComm1.PortOpen = True '開啟通信控制項的埠
Timer1.Interval = 100 』自動傳送時間間隔100毫秒
End Sub
Private Sub MSComm1_OnComm()
Dim st As String
If MSComm1.InBufferCount > 0 Then
st = MSComm1.Input
Text2.Text = st '將收到的數據放入Text2文本框
End If
End Sub
Private Sub Timer1_Timer()
MSComm1.Output = Text1.Text '發送Text1文本框內容
End Sub
❻ 關於串口通訊
利用串口進行數據通訊在通訊領域重佔有著重要的地位。利用RS232-RS485進行數據信號的採集和傳遞是VC編程的又一大熱點。串口通訊在通訊軟體重有著十分廣泛的應用。如電話、傳真、視頻和各種控制等。在各種開發工具中間,VC由於功能強大和靈活,同時也得到了Microsoft的最大支持,所以在一般進行涉及硬體操作的通訊編程中,大都推薦使用VC作為開發工具。然而工業控制串口通訊這個又不同於一般的串口通訊程序,因為控制外圍設備傳送的大都是十六進制數據(BYTE類型),所以,為了提高程序的運行穩定性,我們在編寫程序進行通訊時可以不考慮傳送BYTE類型數據的工作。
串口通訊目前流行的方法大概有兩種:一是利用Microsoft提供的CMSCOMM控制項進行通訊,不過現在很多程序員都覺應該放棄這種方式。二是利用WINAPI函數進行編程,這種編程的難度最高,要求你要掌握很多的API函數。三是利用現在網路上面提供的一些串口通訊控制項進行編寫,比如CSerial類等。
程序實現:
我在經過許多的項目的開發和實踐中發現,採用WIN API函數進行串口的開發能夠給程序員很大的控制項,並且程序運也很穩定。所以我將與串口接觸的函數進行封裝,然後在各個工程中進行調用,效果還是比較好的,現將各個函數和調用方法列舉出來,希望對各位有所幫助。
一、設置串口相關工作
#define MAXBLOCK 2048
#define XON 0x11
#define XOFF 0x13
BOOL SetCom(HANDLE &m_hCom, const char *m_sPort, int BaudRate, int Databit, CString parity, CString stopbit)
{
COMMTIMEOUTS TimeOuts; ///串口輸出時間 超時設置
DCB dcb; ///與埠匹配的設備
m_hCom=CreateFile(m_sPort, GENERIC_READ | GENERIC_WRITE, 0, NULL,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED,
NULL); // 以重疊方式打開串口
if(m_hCom==INVALID_HANDLE_VALUE)
{
AfxMessageBox("設置串口部分,串口打開失敗"); /////重疊方式 非同步通信(INVALID_HANDLE_VALUE)函數失敗。
return FALSE;
}
SetupComm(m_hCom,MAXBLOCK,MAXBLOCK); //設置緩沖區
memset(&TimeOuts,0,sizeof(TimeOuts));
TimeOuts.ReadIntervalTimeout=MAXDWORD; // 把間隔超時設為最大,把總超時設為0將導致ReadFile立即返回並完成操作
TimeOuts.ReadTotalTimeoutMultiplier=0; //讀時間系數
TimeOuts.ReadTotalTimeoutConstant=0; //讀時間常量
TimeOuts.WriteTotalTimeoutMultiplier=50; //總超時=時間系數*要求讀/寫的字元數+時間常量
TimeOuts.WriteTotalTimeoutConstant=2000; //設置寫超時以指定WriteComm成員函數中的
SetCommTimeouts(m_hCom, &TimeOuts); //GetOverlappedResult函數的等待時間*/
if(!GetCommState(m_hCom, &dcb)) ////串口打開方式、埠、波特率 與埠匹配的設備
{
AfxMessageBox("GetCommState Failed");
return FALSE;
}
dcb.fParity=TRUE; //允許奇偶校驗
dcb.fBinary=TRUE;
if(parity=="NONE")
dcb.Parity=NOPARITY;
if(parity=="ODD")
dcb.Parity=ODDPARITY;
if(parity=="EVEN")
dcb.Parity=EVENPARITY;
if(stopbit=="1")//設置波特率
dcb.StopBits=ONESTOPBIT;
//if(stopbit=="0")//設置波特率
// dcb.StopBits=NONESTOPBIT;
if(stopbit=="2")//設置波特率
dcb.StopBits=TWOSTOPBITS;
BOOL m_bEcho=FALSE; ///
int m_nFlowCtrl=0;
BOOL m_bNewLine=FALSE; ///
dcb.BaudRate=BaudRate; // 波特率
dcb.ByteSize=Databit; // 每位元組位數
// 硬體流控制設置
dcb.fOutxCtsFlow=m_nFlowCtrl==1;
dcb.fRtsControl=m_nFlowCtrl==1 ?RTS_CONTROL_HANDSHAKE:RTS_CONTROL_ENABLE;
// XON/XOFF流控制設置(軟體流控制!)
dcb.fInX=dcb.fOutX=m_nFlowCtrl==2;
dcb.XonChar=XON;
dcb.XoffChar=XOFF;
dcb.XonLim=50;
dcb.XoffLim=50;
if(SetCommState(m_hCom, &dcb))
return TRUE; ////com的通訊口設置
else
{
AfxMessageBox("串口已打開,設置失敗");
return FALSE;
}
}
二、讀串口操作:
int ReadCom(HANDLE hComm, BYTE inbuff[], DWORD &nBytesRead, int ReadTime)
{
DWORD lrc; ///縱向冗餘校驗
DWORD endtime; /////////jiesuo
static OVERLAPPED ol;
int ReadNumber=0;
int numCount=0 ; //控制讀取的數目
DWORD dwErrorMask,nToRead;
COMSTAT comstat;
ol.Offset=0; ///相對文件開始的位元組偏移量
ol.OffsetHigh=0; ///開始傳送數據的位元組偏移量的高位字,管道和通信時調用進程可忽略。
ol.hEvent=NULL; ///標識事件,數據傳送完成時設為信號狀態
ol.hEvent=CreateEvent(NULL,TRUE,FALSE,NULL);
endtime=GetTickCount()+ReadTime;//GetTickCount()取回系統開始至此所用的時間(毫秒)
for(int i=0;i<2000;i++)
inbuff[i]=0;
Sleep(ReadTime);
ClearCommError(hComm,&dwErrorMask,&comstat);
nToRead=min(2000,comstat.cbInQue);
if(int(nToRead)<2)
goto Loop;
if(!ReadFile(hComm,inbuff,nToRead,&nBytesRead,&ol))
{
if((lrc=GetLastError())==ERROR_IO_PENDING)
{
///////////////////
endtime=GetTickCount()+ReadTime;//GetTickCount()取回系統開始至此所用的時間(毫秒)
while(!GetOverlappedResult(hComm,&ol,&nBytesRead,FALSE))//該函數取回重疊操作的結果
{
if(GetTickCount()>endtime)
break;
}
}
}
return 1;
Loop: return 0;
}
三、寫串口命令
int WriteCom(HANDLE hComm, BYTE Outbuff[], int size, int bWrite[])
{
DWORD nBytesWrite,endtime,lrc;
static OVERLAPPED ol;
DWORD dwErrorMask,dwError;
COMSTAT comstat;
ol.hEvent=CreateEvent(NULL,TRUE,FALSE,NULL);
ol.Offset=0;
ol.OffsetHigh=0;
ol.hEvent=NULL; ///標識事件,數據傳送完成時,將它設為信號狀態
ClearCommError(hComm,&dwErrorMask,&comstat);
if(!WriteFile(hComm,Outbuff,size,&nBytesWrite,&ol))
{
if((lrc=GetLastError())==ERROR_IO_PENDING)
{
endtime=GetTickCount()+1000;
while(!GetOverlappedResult(hComm,&ol,&nBytesWrite,FALSE))
{
dwError=GetLastError();
if(GetTickCount()>endtime)
{
AfxMessageBox("寫串口時間過長,目前串口發送緩沖區中的數據數目為空");
break;
}
if(dwError=ERROR_IO_INCOMPLETE)
continue; //未完全讀完時的正常返回結果
else
{
// 發生錯誤,嘗試恢復!
ClearCommError(hComm,&dwError,&comstat);
break;
}
}
}
}
FlushFileBuffers(hComm);
PurgeComm(hComm,PURGE_TXCLEAR);
bWrite=0;
return 1;
}
四、調用方法很簡單,只需要將你的串口參數進行簡單的設置就可以了。比如:
BOOL Main_OpenCom()//設置COM
{
int Boundrate=9600;//波特率
CString StopBits="1";//停止位
int DataBits=8;//數據位
CString Parity="ODD";//奇偶校驗
CString m_Port="COM1";
return SetCom(m_hCom1,m_Port,Boundrate,DataBits,Parity,StopBits);
}
void Main()
{
int SIZE;
DWORD BytestoRead=52*Count+6;//要11個位元組
int BWRITE[2];
int ReadTime=2000;
BYTE Outbuff[12]={0xff,0x00,0xea,0xff,0xea,0xff,0,0,0,0,0,0};
SIZE=sizeof(Outbuff);
WriteCom(m_hCom,Outbuff,SIZE,BWRITE);
ReadCom(m_hCom,m_Inbuff,BytestoRead,ReadTime);
//進行湘陰的解包處理
}
❼ 如何使用串口工具
串口調試工具
33個軟體
串口調試工具,也就是串列通信介面調試軟體,廣泛應用於單片機控制領域的數據監控、數據採集、數據分析等工作。我們常用的串口調試工具包括串口調試助手、串口監控器等,提高串口通訊工作效率、穩定數據傳輸及保存過程,是單片機通訊開發的必備工具之一
❽ 串口調試工具如何使用
串口調試可以用串口接實際的單片機,也可以用虛擬串口軟體,虛擬一對串口模擬測試。
類似的工具有格西烽火、SSCOM等,使用都很方便,設置好參數,即可。
下圖為發送簡訊息的測試。
❾ 自己編寫的串口通訊軟體怎麼調試
能編寫串口調試軟體的軟體很多,視個人熟悉程度和對象平台的需求選擇。Windows平台下用Visual Studio比較好用,語言有C#、VC、VB,基本原理都差不多。
給幾個串口軟體你參考,依次為格西烽火串口助手、SSCOM、串口調試助手等。
❿ 如何使用串口工具
點擊運行串口調試助手,進入相應的界面。
設置串口通訊的介面,波特率校驗位等相關信息。
在發送欄輸入要發送的信息,選擇手動發送或者自動發送,這時如果沒有什麼錯誤,對方的串口通信工具就會收到發送的內容。
設置接收區域的相關信息,這時對方如果發送信息,接收區就會收到相應的內容。
另外也可以進行文件的發送,但是串口通信的速率過慢,傳輸文件的話會很耗時,不過可以用來檢測通信的正確性。