❶ 單片機嵌入式的上位機編程用哪個比較好C++、C#、java 、 DELPHI、VB各個程序的優勢、缺點在哪裡
個人感覺這些語言的優缺點很難在上位機編程體現出來,你得從你開發上位機應用的角度來考慮問題
比如你如果開發貼近操作系統和通信控制的上位機程序,建議你用C++語言,它的優勢在於強大的系統操作能力和便捷靈活的通信和控制開發能力,是一種比較全能的語言,尤其是在組織大型的程序,C++有得天獨厚的優勢,缺點是難學,跨平台兼容性不好
如果你想開發基於。net框架的程序,可以用C#,它也是功能挺強大的語言,但是比c++少了不少靈活性,很想是windows平台下的java,很像很像
如果你想開發跨平台,並且是基於網路應用的程序,可以考慮用java,缺點是與操作系統貼近的不夠緊,因為它是運行在java虛擬機上的半解釋性的語言
delphi很折中,感覺它特別像積木一樣,尤其適合開發基於資料庫的軟體,缺點是近幾年有沒落的趨勢,資料好像越來越少
vb就算了吧,當玩具還行,感覺干什麼都不是太專業。
❷ 用VB語言怎麼樣開發單片機
新建VB工程,由工程菜單選部件項,在Microsoft Comm Control 6.0部件前打鉤確定,VB的工具箱中就有MSCOMM控制項,添加到窗體.下列代碼可按2進制接收數據,處理為16進制字元串顯示數據. 根據通信協議,確定VB的演算法,編寫收發代碼。接收可按如下代碼:
Option Explicit
Dim inData As String
Dim arr() As Byte
Private Sub Form_Load()
MSComm1.Settings = "9600,n,8,1"
MSComm1.RThreshold = 1
MSComm1.InputMode = comInputModeBinary '二進制接收
MSComm1.PortOpen = True
End Sub
Private Sub MsComm1_OnComm()
Dim intInputLen As Integer
Dim i As Integer
Select Case MSComm1.CommEvent
Case comEvReceive
'此處添加處理接收的代碼
intInputLen = MSComm1.InBufferCount
ReDim arr(intInputLen)
arr = MSComm1.Input
For i = 0 To UBound(arr)
If Len(Hex(arr(i))) = 1 Then
inData = inData & "0" & Hex(arr(i))
Else
inData = inData & Hex(arr(i))
End If
Next
Text2 = inData
End Select
End Sub
❸ vb與單片機通訊問題
可以做到,我覺得,如果你有了想法在有條件的情況下,先做,遇到問題在想去問別人。在自己做的過程中可以學到很多經驗,從來得到更適合自己的方法。
1,奇偶校驗方法,建議使用TB8,RB8,如果你要放到位元組里,也不是不可以,但在計算的時候,不能計算奇偶校驗位本身。這樣做的畫可以考慮真個數據包一起效驗。
2,建議通碼明老訊地址放在通訊開始標識後面,這樣從機反映會可以做快些。槐隱
3,不管多簡單的協議,建議都有,開始標志,地址,命令,長度,數據,效驗,結束標志。
哪怕是一個數據位都可以,這樣,比較有調理點,會減少很多數據誤傳的遲升問題。