wxg1221
級別: 正式會員
|
解碼槍解出來的二維碼用串口傳輸 怎么把這個串口的數據直接在EXCEL表格里面顯示 掃一個碼EXCEL里面存一個 |
---|---|
|
菜鳥入行
級別: 論壇先鋒
|
正常來說,需要使用VB VC 等語言。 但是,我個人比較喜歡BAT的一個功能: 你只需要寫這一行代碼: echo %time%>>c:\1.xls 復制到一個記事本文件,然后另存為 time.bat 每雙擊一次,就會在C盤生成一個叫1的表格文件,里面有每次雙擊的時間。 假如有辦法讓這個BAT獲取到你串口獲取的內容,就可以達到你要的要求了。 我在百度搜索到,BAT可以直接向串口發送數據,理論上接收也可以,只是寫腳本可能麻煩些。 參考: https://zhidao.baidu.com/question/531586037.html https://www.cnblogs.com/runliuv/p/9817126.html [ 此帖被菜鳥入行在2020-03-15 19:00重新編輯 ] |
|
---|---|---|
|
908914819
加壘電氣
級別: 家園常客
|
如何將串口接收到的數據保存到EXCEL文檔 1.啟動excel從:工具-->宏-->Visual Basic 編輯器,打開excel VBA. 2.在ThisWorkbook上右單擊鼠標選擇插入--用戶窗體 3.單擊一下插入的窗體,單擊菜單上的--工具--附加控件--選擇Microsoft Communications Control, version 6.0 4.在窗體上添加mscomm1,添加commandButton1 5.單串口機子,短接rs232的2腳和3腳,雙串口機子用232線連接兩個串口,注意2、3線交叉,我這里以單串口短接舉例。 6.復制以下代碼到你的窗體里: VB code 'VBA代碼 Private Sub CommandButton1_Click() MSComm1.Output = "BEG1END" End Sub Private Sub MSComm1_OnComm() Dim t1 As Long, com_String As String Static i As Integer t1 = Timer Select Case MSComm1.CommEvent Case comEvReceive '收到 RThreshold定義的字符數1字節 MSComm1.RThreshold = 0 Do DoEvents Loop While Timer - t1 < 0.1 '延時時間自己調整 com_String = MSComm1.Input MSComm1.RThreshold = 1 i = i + 1: If i > 255 Then i = 1 Application.Cells(3, i).Value = com_String End Select 'ActiveWorkbook.SaveAs Filename:="C:\d1.xls" End Sub Private Sub iniMscomm() 'On Error Resume Next '=====-----初始化通信串口-----===== MSComm1.CommPort = 1 '使用 COM1 MSComm1.Settings = "9600,N,8,1" '9600 波特,無奇偶校驗,8 位數據,一個停止位 MSComm1.PortOpen = True '打開端口 MSComm1.RThreshold = 1 '緩沖區有1個字節就產生OnComm事件 MSComm1.InputLen = 0 '為 0 時,使用 Input 將使 MSComm 控件讀取接收緩沖區中全部的內容。 MSComm1.InputMode = comInputModeText 'Input以二進制形式取回用comInputModeBinary,以文本形式取回是(缺省項) MSComm1.RTSEnable = True MSComm1.InBufferCount = 0 '清空緩沖區 End Sub Private Sub UserForm_Initialize() iniMscomm End Sub 7.雙擊thisWorkBook,復制以下代碼到窗體里: VB code 'VBA代碼 Private Sub Workbook_Open() UserForm1.Show 0 'UserForm1.Hide End Sub 8.保存文件并關閉excel,然后再打開你的文件,然后單擊你窗體上的按鈕看看。 9.這個程序是我為你特意做的,已經做過測試,sys2003 office2003。 10.如果excel中有數據輸入,再去測試你的設置,注意com口號與波特率的設置。 |
---|---|
|