c上位機(jī)軟件開發(fā)教程(c語言上位機(jī)開發(fā))
今天給各位分享c上位機(jī)軟件開發(fā)教程的知識(shí),其中也會(huì)對(duì)c語言上位機(jī)開發(fā)進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!
如何用c語言開發(fā)自己的上位機(jī)軟件
一般開發(fā)上位機(jī)軟件都是帶圖形界面的。C也能做出圖形界面的軟件,但是開發(fā)周期太長(zhǎng)也不實(shí)用。所以最好還是需要會(huì)一些其他語言,例如C++,C#,Java這些做圖形界面開發(fā)周期短的語言。既然會(huì)C,那么學(xué)習(xí)其他語言也只是一個(gè)熟悉語法的過程。所以很快就能上手,因?yàn)檎Z言都是相通的嘛。可以開闊自己的視野去學(xué)習(xí)一下新的語言。不是說只會(huì)C有什么弊端,只是想說會(huì)的多才會(huì)知道語言之間的優(yōu)劣。
上位機(jī)控制軟件開發(fā)
任何一種面向?qū)ο蟮恼Z言都有串口庫(kù)。我也研究了一陣子上位機(jī),c水平如果拿著資料,還是可以寫一些小玩意,但是最后放棄了,現(xiàn)在是用別人的架構(gòu)做一點(diǎn)點(diǎn)二次開發(fā),說白了就是寫一點(diǎn)小腳本,也可以將就用。上位機(jī)開發(fā)這個(gè)不是一年半載就可以搞清晰的。我認(rèn)為,所以我放棄了??赡芪矣悬c(diǎn)笨吧。最主要的是作為個(gè)人,我找不到下位機(jī)的驅(qū)動(dòng)和c庫(kù)(我說的下位機(jī)是PLC),而這些,我又自己寫不出來。我學(xué)的是c#,我知道幾個(gè)搞機(jī)器視覺的。也是用的c#,好多年了,軟件依然bug層出不窮,賣出去的軟件都沒打包封裝,也不知道怎么想的。當(dāng)然,我也么有嘗試去反編譯他的。。也不一定可以編譯出來。沒意思
怎樣用vc編寫上位機(jī)軟件
簡(jiǎn)單點(diǎn)的,你可以用MFC,如果覺得MFC太臃腫了,那么,可以用Win32項(xiàng)目來創(chuàng)建應(yīng)用,這些其實(shí)都不是最關(guān)鍵的地方,核心問題就在于你的通信協(xié)議。
如果你用串口來通信,那么,協(xié)議相對(duì)來說比較簡(jiǎn)單些,實(shí)現(xiàn)起來也不復(fù)雜,網(wǎng)上的參考文獻(xiàn)也非常多,也有很多開源代碼可供參考。
如果你用USB來通信的話,那么,你要了解USB協(xié)議,這個(gè)協(xié)議分的設(shè)備各類多,打印出來有厚厚一本書,比較復(fù)雜,你可以用其中的HID協(xié)議,
將你的設(shè)備枚舉成USB HID(Human Interface Device)設(shè)備,VID要向協(xié)會(huì)申請(qǐng)的,不要亂用哦,你可以用0x0483來做測(cè)試,然后在下位機(jī)里設(shè)定端點(diǎn)(End Point),一般為兩個(gè),一個(gè)默認(rèn)端點(diǎn)0,另一個(gè)端點(diǎn)1(用以收和發(fā),當(dāng)然可以再增加一個(gè)端點(diǎn),使得收和發(fā)分開,這樣發(fā)的同時(shí)可以收),最后就是往端點(diǎn)1的Buffer里丟數(shù)據(jù),就實(shí)現(xiàn)了發(fā)送。上們機(jī)里面用WDK里的HID庫(kù),枚舉設(shè)備,根據(jù)PID和VID查找你的設(shè)備,找到后就可以接收了,通過對(duì)找到的設(shè)備句柄用CreateFile,ReadFile等函數(shù)來操作,就可以實(shí)現(xiàn)接收數(shù)據(jù)了。
關(guān)于這一方面的資料,網(wǎng)上非常多,搜一下“HID上位機(jī)”就出來了。
新手想用C#做一款上位機(jī)軟件,應(yīng)該如何起步?
如果僅僅是想實(shí)現(xiàn)你說的這些功能的話,找本C#的書,先把基本語法學(xué)學(xué),再學(xué)學(xué)C#操作串口類的用法,然后學(xué)學(xué)C#的繪圖那個(gè)類,再做幾個(gè)例子就行。先從簡(jiǎn)單入手,套路熟悉了之后再多樣化,復(fù)雜化。不難,一步一步來。
上位機(jī)開發(fā)
就目前就業(yè)市場(chǎng)來看,不管上位機(jī),還是下位機(jī),應(yīng)用程序領(lǐng)域的人才需求總是最大的。
做測(cè)試軟件其實(shí)不一定需要用 c#,假如你對(duì)c/c++開發(fā)比較熟,那直接用 MFC 等寫些
對(duì)話框應(yīng)用就好了,測(cè)試軟件不至于會(huì)太復(fù)雜。另外假如 c/c++ 通了,C#之類的不要
太簡(jiǎn)單。
對(duì)于做工作來說的話,除非你已經(jīng)走在自己已經(jīng)認(rèn)準(zhǔn)的那條道上了。否則你還是兵來將
擋,水來土掩的好。任何時(shí)候,有任何需要,你憑借自己的基礎(chǔ)稍做學(xué)習(xí)都能立馬上手。
還有一點(diǎn),不是說你今天或者這幾個(gè)月做了 c# ,后面幾年時(shí)間你就必須得用它來吃飯了。
做c#的過程也許只是你長(zhǎng)期職業(yè)追求中的一個(gè)插曲而已,對(duì)于增加知識(shí)面也有好處。
c上位機(jī)軟件開發(fā)教程的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于c語言上位機(jī)開發(fā)、c上位機(jī)軟件開發(fā)教程的信息別忘了在本站進(jìn)行查找喔。