欧美vvv,亚洲第一成人在线,亚洲成人欧美日韩在线观看,日本猛少妇猛色XXXXX猛叫

新聞資訊

    注:以下文章是我收錄兩年前記錄的CSDN博客。

    一、前言

    1、有些人其實(shí)會(huì)覺得Unity3D用到的.NET是2.0的,其實(shí)不然;Unity3D有用到.NET3.5,為什么說(shuō)Unity用到的是3.5呢,從一個(gè)很常用卻很重要的一個(gè)命名空間說(shuō)起,他就是System.Linq命名空間,這個(gè)命名空間是.NET3.5重要的一次改革和核心部分(本命名空間與該文章并沒有什么很大的聯(lián)系,只是提下而已)。至于為什么顯示成2.0我也不是很清楚,可能只支持部分3.5吧,不過(guò)對(duì)我們來(lái)說(shuō)關(guān)系并不是很大。只要支持Linq就可以了。

    2、前提工作:虛擬串口和Unity3D切換成.NET。

    2.1 虛擬串口的創(chuàng)建,可以從網(wǎng)上下載一個(gè)創(chuàng)建虛擬串口的軟件,比如“VSPD虛擬串口”,還是挺好用的,不過(guò)因?yàn)槲易鯱nity3D的虛擬串口工作,所以根據(jù)VSPD專門寫了一個(gè)創(chuàng)建虛擬串口的程序(暫時(shí)不提供)。在創(chuàng)建虛擬串口的時(shí)候注意一個(gè)很重要的問(wèn)題,就是盡量創(chuàng)建串口號(hào)大于10的,比如COM10、COM11甚至夸張點(diǎn)COM100等,為什么要這樣子,后面我會(huì)介紹Unity3D打開串口時(shí),串口號(hào)大于10時(shí),打開串口方式與.NET打開串口的方式是不一樣的。

    2.2 將Unity3D的API平臺(tái)切換成.NET2.0。如何切換“Edit–project Setting–Player–Other Setting –Api Compatibility level”。在這里將“.NET2.0 Subset”切換為“.NET2.0”。

    2.3 Unity的目標(biāo)平臺(tái)一定要切換為Windows平臺(tái),否則是其他平臺(tái)會(huì)報(bào)錯(cuò)誤,本人就是深有體會(huì),針對(duì)這個(gè)問(wèn)題找原因找了很久,什么百度、谷歌、論壇都查閱了,最后還是無(wú)意中自己發(fā)現(xiàn)解決的了。

    切換為Web平臺(tái)時(shí)報(bào)的錯(cuò)誤

    3、Unity的串口與.NET的串口對(duì)象參數(shù)有些不一樣,比如在Unity3D中打開串口,SerialPort對(duì)象的屬性、方法、事件等要比.NET SerialPort對(duì)象的屬性、事件、方法要少一些。(圖片不能顯示,所以不就貼圖了,只是說(shuō)明下情況),甚至Unity3D的有些屬性還是錯(cuò)誤的,比如BytesToRead和BytesToWrite兩個(gè)屬性都是“未將對(duì)象引用值對(duì)象的實(shí)例”,但是在.NET中這兩個(gè)參數(shù)默認(rèn)是為0。這兩個(gè)參數(shù)用于接收串口發(fā)送字節(jié)數(shù)組時(shí),是很有用處的。

    這是WinForm中串口對(duì)象里的屬性

    4、虛擬串口的創(chuàng)建,不像是真實(shí)串口線那樣子,它是以對(duì)來(lái)創(chuàng)建的,比如COM100與COM101一對(duì)……至于怎么成對(duì)完全是有那個(gè)創(chuàng)建虛擬串口的軟件以及你輸入的串口來(lái)決定的。

    二、Unity3D內(nèi)部通信1、內(nèi)部通信思路

    1.1 打開串口

    之前在前言中說(shuō)過(guò),Unity打開串口方式不一樣,因?yàn)樵?NET2.0打開串口時(shí),如果串口超過(guò)10,則必須在前面加上“\?\”,比如我需要打開COM301,在Unity中你實(shí)際傳給串口的參數(shù)必須是“”\?\” + “COM301””。

    在命名空間中引用System.IO.Ports

    創(chuàng)建兩個(gè)串口類對(duì)象

    1.2 線程接收數(shù)據(jù)

    兩個(gè)串口接收數(shù)據(jù),并且打印出來(lái),一般接收數(shù)據(jù)的方法常用的有兩種,一種是接收字符串ReadLine()另一種接收字節(jié)Read,稍微我會(huì)將接收字節(jié)已注釋的形式寫出來(lái)。

    網(wǎng)關(guān)接收數(shù)據(jù)方法

    協(xié)調(diào)器接收數(shù)據(jù)方法

    1.3 發(fā)送數(shù)據(jù)

    將這下面兩個(gè)方法分別加入到UI Button的事件中,具體如何加這里就不解釋了。

    2、代碼

    主要類PortsTest.cs,字節(jié)字符串轉(zhuǎn)化類ClassConvert.cs。

    3、運(yùn)行結(jié)果和異常解析

    運(yùn)行程序后,會(huì)提示網(wǎng)關(guān)串口打開成功和協(xié)調(diào)器串口打開成功。

    3.1、當(dāng)以字符串形式發(fā)送串口數(shù)據(jù)和接收串口數(shù)據(jù)時(shí),會(huì)發(fā)現(xiàn)一個(gè)問(wèn)題就是在接收串口數(shù)據(jù)時(shí),會(huì)出現(xiàn)數(shù)據(jù)丟失的情況,網(wǎng)關(guān)串口向協(xié)調(diào)器發(fā)送”FF0000”時(shí),協(xié)調(diào)器接收數(shù)據(jù)偶爾會(huì)接收到“F0000”甚至是為空,只有當(dāng)連續(xù)發(fā)送兩次時(shí),才會(huì)成功。

    3.2、當(dāng)以字節(jié)發(fā)送和接收串口數(shù)據(jù)時(shí),會(huì)出現(xiàn)一條完整的數(shù)據(jù)會(huì)以兩次打印出來(lái)。比如將“new byte[] { 0xFF, 0x00, 0x01 }”發(fā)送過(guò)去,然后打印出來(lái)的結(jié)果是第一條是FF 第二條是00 01等等情況,感覺像是隨機(jī)的。

    4、當(dāng)以字節(jié)發(fā)送,字符串形式接收時(shí),是無(wú)法接收數(shù)據(jù)的

    以上問(wèn)題目前我也不知道是什么情況,解決思路是怎樣的,發(fā)生該問(wèn)題的原因可能是因?yàn)閁nity對(duì)串口這塊本身支持就不是很大,畢竟不是專門針對(duì)Windows平臺(tái)的。

    三、Unity3D與Winform程序之間的串口通信

    在第一部分中介紹了Unity3D內(nèi)部間的通信,現(xiàn)在測(cè)試Unity3D與Winform程序之間的串口通信。

    首先Unity3D串口程序跟第一節(jié)類似的,只不過(guò)把網(wǎng)關(guān)打開串口那一部分代碼移植到Winform中,然后修改一下打開串口的方式即可。

    1、打開串口方式

    以上就是核心代碼。

    2、打開串口方式

    發(fā)送字符串和接收字符串遇到以下發(fā)生過(guò)的問(wèn)題

    2.1 winform程序發(fā)送數(shù)據(jù)成功了,但是Unity接收不到

    2.2 Unity往Winform程序總發(fā)送數(shù)據(jù)時(shí),是沒有問(wèn)題的。而Unity卻接收不到。

    發(fā)送字節(jié)和接收字節(jié)遇到以下發(fā)生過(guò)的問(wèn)題

    2.3 WinForm程序發(fā)送數(shù)據(jù)成功了,但是Unity接收到的數(shù)據(jù)存在問(wèn)題,數(shù)據(jù)不符或數(shù)據(jù)中斷,要想解決這個(gè)問(wèn)題有兩種方法:

    第一可能是Unity官方的錯(cuò)誤,如果能做成跟.NET串口通信一致的話,那么這個(gè)問(wèn)題很好解決。不過(guò)這個(gè)問(wèn)題不夠現(xiàn)實(shí),因?yàn)閁nity本身就是為游戲而開發(fā)的。

    第二那就自己去解決了,看到Unity接收到的數(shù)據(jù)存在數(shù)據(jù)不符,還有數(shù)據(jù)斷層,只能根據(jù)自身的要求,然后去測(cè)試,添加校驗(yàn)位,根據(jù)首校驗(yàn)位和末校驗(yàn)位來(lái)截取你想要的字節(jié)。只有這樣子你才可能接收到正常的串口數(shù)據(jù)。但是這樣子也存在很多的局限性!!!

    2.4 Unity往WinForm程序中發(fā)送的數(shù)據(jù)時(shí),是沒有問(wèn)題的。

    有問(wèn)題可關(guān)注我的公眾號(hào)(Hua灬清),我會(huì)每周推送一篇原創(chuàng)技術(shù)博客。

    NP301就像職場(chǎng)老實(shí)人,簡(jiǎn)單、穩(wěn)定、通用省心,哪里有需要往哪里裝。這款能讓串口設(shè)備即刻連網(wǎng)的串口服務(wù)器,在三旺龐雜的產(chǎn)品體系中并不打眼,但用過(guò)NP301的工業(yè)項(xiàng)目卻不勝枚舉,這是為什么呢?

    先看簡(jiǎn)簡(jiǎn)單單的視頻

    <script src="https://lf3-cdn-tos.bytescm.com/obj/cdn-static-resource/tt_player/tt.player.js?v=20160723"></script>

    從視頻中我們能直觀了解,關(guān)于NP301的尺寸、外殼材質(zhì)、端口布局等信息,而這些外在的硬件配置,在布線施工時(shí)能夠起到什么作用呢?


    硬件上來(lái)說(shuō),它可以幫你完美的做到以下4點(diǎn):

    1.小巧低耗省空間,安裝簡(jiǎn)單。

    體積半個(gè)巴掌大,節(jié)約空間

    多種安裝方式,導(dǎo)軌、壁掛、桌面多種選擇

    配置簡(jiǎn)單,WEB界面友好

    低功耗運(yùn)行,滿載0.84W,空載0.80W


    2.環(huán)境再惡劣,也能穩(wěn)定運(yùn)行。

    金屬外殼,抗振抗沖擊

    IP40防護(hù)等級(jí),有效防止灰塵顆粒

    工業(yè)級(jí)EMC防護(hù),有效防止雷電、浪涌、脈沖等產(chǎn)生的影響


    3.一機(jī)三口,老舊串口設(shè)備都能通用。

    NP301有RS232/422/485可選,幾乎可滿足工業(yè)布線中所有串口設(shè)備的連接。


    4.寬溫寬壓無(wú)阻塞,使用放寬心。

    支持-40~75℃寬溫運(yùn)行,北到黑龍江極寒天氣,南到海南高濕環(huán)境,都可穩(wěn)定運(yùn)行

    支持9~48VDC寬壓輸入,適應(yīng)大多數(shù)工業(yè)電壓供應(yīng)環(huán)境

    支持300bps~115200bps線速無(wú)阻塞通信

    NP301

    在工業(yè)項(xiàng)目中,對(duì)于串口服務(wù)器的要求肯定不止于硬件,在軟性能方面,往往會(huì)提出更嚴(yán)苛的要求,像NP301這種簡(jiǎn)單的串口服務(wù)器,在軟性能方面是否滿足工業(yè)嚴(yán)苛要求,能否完美解決讓串口設(shè)備即刻連網(wǎng)的問(wèn)題,尤其重要。


    那老實(shí)人NP301在軟性方面到底有哪些技術(shù)優(yōu)勢(shì),又能夠?yàn)槟憬鉀Q哪些設(shè)備連網(wǎng)問(wèn)題呢?

    總結(jié)來(lái)說(shuō),它主要能解決以下5個(gè)大點(diǎn):

    1.輕松滿足各種使用和管理需求

    豐富的工作模式:RealCom、TCP Server、TCP Client、UDP Server、UDP Client、UDP Multicast、UDP Rang、Pair Slave、Pair Master,輕松應(yīng)對(duì)客戶的各種使用需求。

    支持WEB、命令行 、SNMP等多種配置方式,滿足各種管理需求


    2.三“多”技術(shù),設(shè)備聯(lián)網(wǎng)不操心

    支持多主機(jī)輪詢模式,實(shí)現(xiàn)多個(gè)主機(jī)訪問(wèn)同一個(gè)串口

    支持定界符匹配通信,實(shí)現(xiàn)多樣化的串口打包需求

    支持FIFO功能,兼容各種舊式終端設(shè)備

    不起眼

    3.分權(quán)限訪問(wèn),網(wǎng)絡(luò)安全可控

    支持IP地址和MAC地址過(guò)濾功能,輕松實(shí)現(xiàn)精確的訪問(wèn)控制

    支持用戶分級(jí)管理,實(shí)現(xiàn)差異化權(quán)限分配


    4.通信穩(wěn)定可靠,數(shù)據(jù)不丟失

    支持串口狀態(tài)和串口參數(shù)監(jiān)視,通信狀態(tài)一目了然

    提供網(wǎng)絡(luò)中斷自動(dòng)恢復(fù)連接功能,保證通信數(shù)據(jù)不丟失


    5.在線升級(jí),后期維護(hù)簡(jiǎn)便

    提供Windows多系列虛擬串口驅(qū)動(dòng)程序,方便實(shí)現(xiàn)串口到網(wǎng)絡(luò)的平滑升級(jí)

    WEB界面支持在線固件升級(jí)


    NP301硬件配置和軟件性能都不錯(cuò),那我們要不要選擇這款產(chǎn)品呢?實(shí)際上,串口服務(wù)器成千上萬(wàn),它們?cè)诠δ苌现挥幸稽c(diǎn)要求,那就是讓串口設(shè)備連接網(wǎng)絡(luò)。


    對(duì)于整個(gè)工業(yè)項(xiàng)目來(lái)說(shuō),串口服務(wù)器只是一個(gè)小而必要的東西,所以選擇上,我們應(yīng)該從硬件和軟件兩個(gè)方面綜合考量,畢竟誰(shuí)也不想因?yàn)橐粋€(gè)小小的鏈接環(huán)節(jié),出現(xiàn)個(gè)小問(wèn)題,而投入大量的人力物力。所以,各位大佬,怎么看待這款串口服務(wù)器呢?


    碼字不易,求贊求轉(zhuǎn)發(fā)。

網(wǎng)站首頁(yè)   |    關(guān)于我們   |    公司新聞   |    產(chǎn)品方案   |    用戶案例   |    售后服務(wù)   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區(qū)    電話:010-     郵箱:@126.com

備案號(hào):冀ICP備2024067069號(hào)-3 北京科技有限公司版權(quán)所有