串口上位機(jī)軟件開發(fā)教程(串口上位機(jī)和下位機(jī)如何通訊)
今天給各位分享串口上位機(jī)軟件開發(fā)教程的知識,其中也會對串口上位機(jī)和下位機(jī)如何通訊進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!
本文目錄一覽:
- 1、求:對“串口助手”上位機(jī)用C++Builder增加網(wǎng)絡(luò)功能
- 2、利用電腦做上位機(jī)開發(fā)一個軟件,用單片機(jī)做下位機(jī)。在上位機(jī)上點(diǎn)擊軟件上的按鈕能使單片機(jī)輸出一路I/O口
- 3、Keil C51實(shí)現(xiàn)單片機(jī)與PC串口(上位機(jī))vb如何編寫
- 4、如何用access做一個與串口通信的上位機(jī)軟件~ 急求~
- 5、新手想用C#做一款上位機(jī)軟件,應(yīng)該如何起步?
求:對“串口助手”上位機(jī)用C++Builder增加網(wǎng)絡(luò)功能
網(wǎng)絡(luò)傳輸有面向連接的TCP和無連接的UDP
1、TCP的話要看對方是服務(wù)器還是本地是服務(wù)器,一般都取本地為客戶端,對方為服務(wù)器。這樣的話用TClientSocket控件,相反用TServerSocket控件。
2、UDP的話要用TNMUDP控件。
對應(yīng)控件用法很簡單,網(wǎng)上問問或者看幫助文件就可以了。不過建議不要用控件編寫,直接用API函數(shù)會更有趣,也利于以后用VC開發(fā)!
利用電腦做上位機(jī)開發(fā)一個軟件,用單片機(jī)做下位機(jī)。在上位機(jī)上點(diǎn)擊軟件上的按鈕能使單片機(jī)輸出一路I/O口
主要涉及到單片機(jī)基礎(chǔ)知識,重點(diǎn)是串口通信,上位機(jī)可以考慮vc和.net,這兩種都可以。.net使用c#語言,感覺比較好上手,我也可以給你點(diǎn)視頻教程,一學(xué)就會。
Keil C51實(shí)現(xiàn)單片機(jī)與PC串口(上位機(jī))vb如何編寫
.
實(shí)現(xiàn)你講的功能,必須用VB中的MSComm控件
MSComm 控件有很多重要的屬性,在開始使用MSComm控件之前。需要先了解其屬性、事件或錯誤。
屬性 描述
CommPort 設(shè)置或返回通信端口號
Settings 以字符串的形式設(shè)置或返回波特率、奇偶校驗、數(shù)據(jù)位和停止位
PortOpen 設(shè)置或返回通信端口的狀態(tài)。也可以打開和關(guān)閉端口
Input 返回和刪除接收緩沖區(qū)中的字符
Output 將字符串寫入發(fā)送緩沖區(qū)
CommEvent 屬性為通信事件或錯誤返回下列值之一。在該控件的對象庫中也可以找到這些常量。
有關(guān)具體的描述,找相應(yīng)的教材仔細(xì)看吧。
VB.的MSComm通信控件提供了一系列標(biāo)準(zhǔn)通信命令的接口,它允許建立串口連接,可以連接到其他通信設(shè)備(如Modem).還可以發(fā)送命令、進(jìn)行數(shù)據(jù)交換以及監(jiān)視和響應(yīng)在通信過程中可能發(fā)生的各種錯誤和事件,從而可以用它創(chuàng)建全雙工 、事件驅(qū)動的、高效實(shí)用的通信程序。但在實(shí)際通信軟件設(shè)計過程中,MSComm控件并非像想像中那樣完美和容易控制.。
一般悅來,計算機(jī)都有一個或多個串行端口,它們依次為com1、Com2、…,這些串口還提供了外部設(shè)備與pC進(jìn)行數(shù)據(jù)傳輸和皿信的通道。這些串口在CPU和外設(shè)之間充當(dāng)解釋器的角色。當(dāng)字符數(shù)據(jù)從CPU發(fā)送給外設(shè)時,這些字符數(shù)據(jù)將被轉(zhuǎn)換成串行比特流數(shù)據(jù);當(dāng)接收數(shù)據(jù)時,比特流數(shù)據(jù)被轉(zhuǎn)換為字符數(shù)據(jù)傳遞給CPU,再進(jìn)一步說,在操作系統(tǒng)方面,Windows用通信驅(qū)動程序(COMM.DRV)調(diào)用API函數(shù)發(fā)送和接收數(shù)據(jù),當(dāng)用通信控件或聲明調(diào)用API函數(shù)時,它門由COMM. DRV解釋并傳遞給設(shè)備驅(qū)動程序,作為一個vB程序員,要編寫通信程序.只需知道通信控件提供給Windows通信AP1函數(shù)的接口即可.換句話說,只需設(shè)定和監(jiān)視通信控件的屬性和事件即可。
MSComm控件提供了兩種處理通信的方法:
1.事件驅(qū)動通信,是一種功能很強(qiáng)的處理串口活動的方法。在大多數(shù)情況下,用戶需要獲知事件發(fā)生的時間,例如,在CD(Carrier Detect)線或RTS(Request To Send)線上有字符到達(dá)或發(fā)生了改變等。在這種情況下,使用MSComm控件的OnComm事件捕獲和處理這些通信事件。OnComm也可以捕獲和處理通信中的錯誤。要獲取所有事件和通信錯誤的完整清單,參閱CommEvent屬性。
2.程序員也可以在每個重要的程序功能之后檢查CommEvent屬性的值來檢測事件和通信錯誤。這對小的自含程序可能比較常用。例如,如果編寫一個簡單的電話撥號程序,那么在接收了每個字符后都產(chǎn)生一個事件并沒有意義,因為你只打算從調(diào)制解調(diào)器中接收OK響應(yīng)信息。
使用的每個MSComm控件都與一個串口對應(yīng)。如果在應(yīng)用程序中需要訪問多個串口,必須使用多個MSComm控件??梢栽赪indows 控制面板中修改串口地址的中斷地址。
用Mscomm控件 編寫通信程序
在VB中新建一個工程文件。
添加Microsoft Comm Control 組件,
在簡體Form1中加入Command命令按鈕并取名為CmdTest,MSComm控件取名為SComm1,加入如下程序代碼。
Private Sub cmdTestClick ( ) '打開串口
MSComml.CommPort =2 '設(shè)定Com2
If MSComml.PortOpen = False Then
MSComm1.Settings = "9600,n,8,1" '9600波特率,無校驗,8位數(shù)據(jù)位,1位停止位
MSComm1.PortOpen = True '打開串口
End if
MSComm1.OutBufferCount = 0 '清空發(fā)送緩沖區(qū)
MSComm1.InBufferCount = 0 '滑空接收緩沖區(qū)
'發(fā)送字符數(shù)據(jù)時注意必須用回車符(vbcr)結(jié)束
MSComm1.Output="This is a qood book ! " vbCr
'潑打電話號碼或發(fā)送AT命令
MSComm1.Output = "ATDT 05778191898 , vbCr
'發(fā)送字符數(shù)組數(shù)據(jù)時注意ByteArray必須事先定義賦值
Dim ByteArray as byte( )
'定義動態(tài)數(shù)組
ReDim ByteArray(1)
'重定義數(shù)組大小
ByteArray ( 0 ) =0
ByteArray ( 1 ) = 1
MSComm1.Output = ByteArray
End Sub
private Sub MScommEvent( )
Select Case MSComm1.CommEvent
Case comEvReceive
Dim Buffer As Variant
MSComm1.InputLen = 0
'接收二進(jìn)制數(shù)據(jù)
MSComm1.InputMode= ComInputModeBinary
Buffer=MSComm1.Input
'接收字符數(shù)據(jù)
MSComm1.InputMode=comInputModeText
Buffer = MSComml.Input
Case else
End Select
End sub
如何用access做一個與串口通信的上位機(jī)軟件~ 急求~
額,這個比較麻煩我之前做過一個但是找不到了,access只不過是個數(shù)據(jù)庫,上位機(jī)實(shí)現(xiàn)通信可以用MFC來做。
新手想用C#做一款上位機(jī)軟件,應(yīng)該如何起步?
如果僅僅是想實(shí)現(xiàn)你說的這些功能的話,找本C#的書,先把基本語法學(xué)學(xué),再學(xué)學(xué)C#操作串口類的用法,然后學(xué)學(xué)C#的繪圖那個類,再做幾個例子就行。先從簡單入手,套路熟悉了之后再多樣化,復(fù)雜化。不難,一步一步來。
關(guān)于串口上位機(jī)軟件開發(fā)教程和串口上位機(jī)和下位機(jī)如何通訊的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。