亚洲精品日韩中文字幕久久久,欧美国产日韩a欧美在线观看,亚洲色精品88色婷婷七月丁香,大地资源第二页在线观看免费高清

上位機軟件開發(fā)實例(上位機軟件一般用什么語言開發(fā))

軟件開發(fā) 3389
今天給各位分享上位機軟件開發(fā)實例的知識,其中也會對上位機軟件一般用什么語言開發(fā)進行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關注本站,現(xiàn)在開始吧!本文目錄一覽: 1、如何用c語言開發(fā)自己的上位機軟件

今天給各位分享上位機軟件開發(fā)實例的知識,其中也會對上位機軟件一般用什么語言開發(fā)進行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關注本站,現(xiàn)在開始吧!

本文目錄一覽:

如何用c語言開發(fā)自己的上位機軟件

一般開發(fā)上位機軟件都是帶圖形界面的。C也能做出圖形界面的軟件,但是開發(fā)周期太長也不實用。所以最好還是需要會一些其他語言,例如C++,C#,Java這些做圖形界面開發(fā)周期短的語言。既然會C,那么學習其他語言也只是一個熟悉語法的過程。所以很快就能上手,因為語言都是相通的嘛??梢蚤_闊自己的視野去學習一下新的語言。不是說只會C有什么弊端,只是想說會的多才會知道語言之間的優(yōu)劣。

只會C語言能不能開發(fā)上位機軟件?

能。

現(xiàn)在C能做一些軟件的底層,也就是功能級的開發(fā),當然也確實的是,現(xiàn)在大部分連功能層都用C++寫了...上位機軟件確定了功能用C寫,那你就可以上,上位機的管理你寫不了,管理都給客戶端或者web,碰到那些玩意,C就往后靠吧。

利用電腦做上位機開發(fā)一個軟件,用單片機做下位機。在上位機上點擊軟件上的按鈕能使單片機輸出一路I/O口

主要涉及到單片機基礎知識,重點是串口通信,上位機可以考慮vc和.net,這兩種都可以。.net使用c#語言,感覺比較好上手,我也可以給你點視頻教程,一學就會。

vb串口通信程序實例

我也是自己摸索開發(fā)出來的每一款VBtoCOM通訊,有具體的思路如下:

給你推薦一個工具“com串口測試工具 ComTone V1.0 中文綠色版”

1、打開你的噪音計的測試軟件,調整好串口號、通訊頻率等等,我用溫度計舉例說明。

開始查詢后有返回數值,這個Receive:就是返回的數值000304012200004b05,

打開串口監(jiān)視精靈,監(jiān)視軟件的com口事件:

這里面的Write是測試軟件發(fā)出的查詢指令,read是設備返回的數據指令

Private?Sub?Command1_Click()?'發(fā)送指令

If?Not?MSComm1.PortOpen?Then

??MSComm1.CommPort?=?7?'串口為7

??MSComm1.Settings?=?"9600,n,8,1"

??MSComm1.InBufferCount?=?0?'清除接收緩沖區(qū)

??MSComm1.OutBufferCount?=?0?'清除發(fā)送緩沖區(qū)

??MSComm1.InputMode?=?comInputModeBinary?'二進制接收

??MSComm1.InputLen?=?0?'讀取接收緩沖區(qū)的所有字符

??MSComm1.PortOpen?=?True??'打開串口

??MSComm1.RTSEnable?=?False?'置為發(fā)送狀態(tài)

End?If

Dim?pu()?As?Byte

Dim?strdata??As?String

Dim?crc_js()?As?Byte

ReDim?pu(7)??'這個數組是8位的查詢指令

pu(0)?=?"H00"?'溫度計地址

pu(1)?=?"H03"?'查詢指令

pu(2)?=?"H00"?'2、3為溫度計地址

pu(3)?=?"H00"?'2、3為溫度計地址

pu(4)?=?"H00"?'4、5為讀取寄存器長度

pu(5)?=?"H02"?'4、5為讀取寄存器長度

pu(6)?=?"HC5"?'6、7為CRC校驗碼?因為我們不知道設備的CRC校驗規(guī)則所以用測試軟件產生的校驗碼

pu(7)?=?"HDA"?'6、7為CRC校驗碼

MSComm1.Output?=?pu

'不做任何事情,僅僅允許其它應用程序處理它們的事件。

DoEvents

MSComm1.InBufferCount?=?0?'清除接收緩沖區(qū)

MSComm1.RThreshold?=?9?'所要接收的數據長度,我們通過COM檢測精靈看到了回傳數據一共是9字節(jié)

MSComm1.RTSEnable?=?True?'轉為接收狀態(tài)

End?Sub

Private?Sub?Command2_Click()

Timer1.Enabled?=?False

End?Sub

Private?Sub?Form_Unload(Cancel?As?Integer)

????If?MSComm1.PortOpen?Then

????????MSComm1.PortOpen?=?False??'關閉串口

????End?If

????Timer1.Enabled?=?False

End?Sub

Private?Sub?MSComm1_OnComm()?'COM事件

????Dim?PA()?As?Byte

????Dim?PB?As?String

Select?Case?MSComm1.CommEvent

?Case?comEvReceive

????????????MSComm1.InputLen?=?0?'讀取接收緩沖區(qū)的所有字符

????????????PB?=?MSComm1.Input

????????????PA()?=?PB

????????????For?i?=?0?To?UBound(PA())

????????????????'Print?"PA("??i??")";?PA(i)

????????????????If?Len(Hex(PA(i)))?=?1?Then

????????????????????strdata?=?strdata??"0"??Hex(PA(i))

????????????????Else

????????????????????strdata?=?strdata??Hex(PA(i))

????????????????End?If

????????????Next

????????????'回傳的數據串:000304012600000AC4,這9字節(jié)根據通訊協(xié)議我們進行拆分

????????????'00為協(xié)議內回傳機號,03為讀命令,04為返回的數據長度?0126?為我要的溫度數據為十六進制表達,下面我進行數據處理

????????????wd?=?CLng("H"??Left(Right(strdata,?12),?4))?/?10??"℃"???'根據通訊協(xié)議換算成溫度

????????????Text1?=?Text1??vbCrLf??strdata??"??"??wd

????????????strdata?=?""

???MSComm1.PortOpen?=?False??'關閉串口

?End?Select

End?Sub

Private?Sub?Timer1_Timer()

Call?Command1_Click

End?Sub

這是我的測試結果。

下面是通訊協(xié)議

這個是我的軟件用檢測精靈檢測的結果

上位機軟件開發(fā)實例的介紹就聊到這里吧,感謝你花時間閱讀本站內容,更多關于上位機軟件一般用什么語言開發(fā)、上位機軟件開發(fā)實例的信息別忘了在本站進行查找喔。

掃碼二維碼