拿以太網(wǎng)+串口傳輸modbus指令舉例:
以太網(wǎng)數(shù)據(jù)收發(fā)時(shí)以太網(wǎng)的協(xié)議棧占用內(nèi)存約20Kbyte,單個(gè)SOCKET傳輸數(shù)據(jù)時(shí)最少預(yù)留了532byte字節(jié)的緩存空間,當(dāng)取出網(wǎng)絡(luò)下傳的數(shù)據(jù)時(shí),需要拆掉網(wǎng)絡(luò)傳輸頭并在末尾增加CRC,串口上行數(shù)據(jù)時(shí),需要增加網(wǎng)絡(luò)傳輸數(shù)據(jù)頭以及去掉末尾CRC值,如果此時(shí)碰到慣用for循環(huán)copy數(shù)據(jù)或者使用memcpy函數(shù)進(jìn)行數(shù)據(jù)組包的大佬,內(nèi)存空間基本就是捉襟見肘。
解決以上問(wèn)題的辦法之一就是使用指針配合數(shù)組進(jìn)行組包與拆包,如下圖;
網(wǎng)絡(luò)端向串口發(fā)送:聲明數(shù)組時(shí)申明比實(shí)際數(shù)據(jù)所需空間更大的數(shù)組unsigned char Buff[592],以及一個(gè)指針unsigned char *datapoint;將datapoint指向Buff[46]的位置,讀入數(shù)據(jù),將數(shù)據(jù)從指針datapoint指向的位置開始存入數(shù)組,同時(shí)使用另外的變量unsigned int length存儲(chǔ)當(dāng)次讀入的數(shù)據(jù)的長(zhǎng)度,進(jìn)行數(shù)據(jù)拆包操作時(shí)(去包頭6字節(jié)),直接將指針datapoint指向Buff[52]的位置,隨后將計(jì)算所得CRC(2byte)值從Buff[46 + length]位置存入數(shù)組,并得出最終需要傳輸?shù)拈L(zhǎng)度length+2,串口發(fā)送數(shù)據(jù)只需要輸入起始地址datapoint,長(zhǎng)度length,將數(shù)據(jù)存入串口發(fā)送環(huán)形隊(duì)列即可完成發(fā)送。
代碼如下
unsigned char Buff[592];
unsigned char *datapoint;
unsigned int length;
datapoint=& Buff[46];//指針指向數(shù)組中間
net_dataread(datapoint,& length);//讀取數(shù)據(jù),獲得數(shù)據(jù)長(zhǎng)度
CRC(&Buff[46+length],datapoint,& length);//獲取校驗(yàn)值并存入數(shù)組
Uart_send(datapoint,length+2);
串口向網(wǎng)絡(luò)發(fā)送時(shí),數(shù)據(jù)從環(huán)形隊(duì)列讀出,需要加上TCPmodbus協(xié)議的包頭部分(6byte),去掉CRC校驗(yàn),同樣聲明數(shù)組以及指針、長(zhǎng)度變量,將datapoint指向Buff[46]的位置,讀入數(shù)據(jù),將數(shù)據(jù)從指針datapoint指向的位置開始存入數(shù)組;將指針指向當(dāng)前指向地址的前6個(gè)地址位置存入6字節(jié),然后按照新的datapoint位置,長(zhǎng)度length+4將數(shù)據(jù)從網(wǎng)絡(luò)發(fā)出;
代碼如下
unsigned char Buff[592];
unsigned char *datapoint;
unsigned int length;
datapoint=& Buff[46];//指針指向數(shù)組中間
uart_read(datapoint,& length);//讀取數(shù)據(jù),獲得數(shù)據(jù)長(zhǎng)度
datapoint=datapoint-6;
memcpy(datapoint,包頭暫存數(shù)組首地址,6);
Uart_send(datapoint,length+4);
以上實(shí)例簡(jiǎn)單說(shuō)明了利用指針組包的簡(jiǎn)單應(yīng)用,但是在實(shí)際應(yīng)用中可能由于設(shè)備需要使用多種協(xié)議,組包方式不同,例如包頭之前加入注冊(cè)包等,數(shù)據(jù)實(shí)際讀取完成之后不是直接操作而是直接傳入子函數(shù),進(jìn)行組包與拆包,此時(shí)僅需要傳入datapoint與長(zhǎng)度,進(jìn)子函數(shù),由于datapoint指向的數(shù)組前后均有預(yù)留空間,子函數(shù)內(nèi)依然可以使用指針,且在Buff[]數(shù)組的范圍內(nèi),指針可以前后自由移動(dòng),在不需要進(jìn)行大量數(shù)據(jù)拷貝的前提下完成數(shù)組的拆組包過(guò)程,同時(shí)也避免了反復(fù)拷貝數(shù)據(jù)對(duì)空間的浪費(fèi)。
以上就是指針的簡(jiǎn)單應(yīng)用之一,指針除了對(duì)數(shù)組,還可以對(duì)函數(shù)操作,結(jié)合結(jié)構(gòu)體,基本上可以在C語(yǔ)言中實(shí)現(xiàn)類似C++中類功能。
ello 大家好!
我們用了那麼久的電腦,有沒有覺得電腦的鼠標(biāo)指針太單調(diào)了,反正我已經(jīng)看膩了。有沒有嘗試過(guò)換一換鼠標(biāo)指針呢?
今天給大家講一講怎么更改鼠標(biāo)指針。
首先我們解壓存放鼠標(biāo)指針的壓縮文件,解壓后,打開里面的文件夾,里面有一個(gè)AutoSetup文件夾,這就是我們的安裝程序,鼠標(biāo)右鍵點(diǎn)擊這個(gè)文件夾,然后點(diǎn)擊安裝。
在彈出的鼠標(biāo)窗口中點(diǎn)擊確定,然后鼠標(biāo)指針就已經(jīng)變成我們想要的圖標(biāo)了。當(dāng)我們想換另一種指針時(shí),也只需要按照剛剛的方法去變換指針。當(dāng)我們想恢復(fù)默認(rèn)的指針時(shí),只需要在鼠標(biāo)面板里面點(diǎn)擊使用默認(rèn)值就可以了。
我們也可以去網(wǎng)上下載一些鼠標(biāo)指針安裝包。當(dāng)我們打開安裝包的時(shí)候,一般都有15個(gè)文件,包括正常選擇、忙碌、后臺(tái)運(yùn)行·····等等。但有兩種情況
①文件夾里帶有以“.inf”為后綴名的文件。只需要右鍵點(diǎn)擊安裝(即在C:WINDOWSCursors中生成文件夾)就OK啦!安裝完成后需要在“控制面板-鼠標(biāo)-指針”窗口下選擇我們剛剛安裝的鼠標(biāo)指針。
②文件夾里面只有不“.cur”和“.ani”兩種文件格式。只需要把指針文件放入“C:WINDOWSCursors”中,做好放在一個(gè)文件夾里,為了方便選擇,然后在“控制面板-鼠標(biāo)-指針”窗口下手動(dòng)配置我們我鼠標(biāo)指針。
有了這個(gè)方法,我們就可以隨意改變我們的鼠標(biāo)指針啦!
當(dāng)然也為大家提供了許多炫酷的指針!獲取方法(下圖):
讓《航海王:夢(mèng)想指針》電腦版運(yùn)行更流暢、穩(wěn)定,可以使用MuMu模擬器,不僅能在電腦上流暢運(yùn)行,還支持鍵位設(shè)置、多開運(yùn)行、高幀率等多種實(shí)用功能。
《航海王:夢(mèng)想指針》是一款由東映動(dòng)畫正版授權(quán)的3D互動(dòng)冒險(xiǎn)手游。在游戲中,你可以與航海王原著動(dòng)畫角色一起全景暢游香波迪群島,體驗(yàn)沉浸式的主城生活,開啟一場(chǎng)盛大的歡樂派對(duì)。游戲采用4萬(wàn)面超高精度建模,主機(jī)級(jí)卡通渲染技術(shù),影視化3A動(dòng)畫品質(zhì),打造148分鐘高清巨制名場(chǎng)面,原版聲優(yōu)傾情獻(xiàn)聲,帶你體驗(yàn)每一個(gè)淚目和爽快的情懷瞬間。
這一次,讓我們跟隨航海王的夢(mèng)想指針,奔赴兩年之約,新世界我們來(lái)了!
如果玩家想在電腦上游玩《航海王:夢(mèng)想指針》手游,可以使用MuMu模擬器。作為網(wǎng)易出品的一款免費(fèi)電腦軟件,MuMu模擬器有Windows版、Mac版,能適配市面主流安卓應(yīng)用、軟件和部分iOS手游,深受玩家、B站主播好評(píng)。不僅兼容性好、穩(wěn)定性強(qiáng),還突破了游戲在手機(jī)上的幀率限制,支持最高240幀高幀率,搭配電腦大屏,視覺體驗(yàn)更絲滑酷炫。
一、下載安裝MuMu模擬器和《航海王:夢(mèng)想指針》
1、打開網(wǎng)頁(yè)搜索“MuMu模擬器”,找準(zhǔn)MuMu模擬器官網(wǎng)進(jìn)入;
2、點(diǎn)擊“下載MuMu模擬器”進(jìn)行下載;
如果安裝后模擬器啟動(dòng)失敗,可前往MuMu模擬器官網(wǎng)首頁(yè)頂部 “常見問(wèn)題” 搜索 “模擬器啟動(dòng)”、“啟動(dòng)失敗”、“無(wú)法啟動(dòng)” 等相關(guān)問(wèn)題。
3、安裝航海王:夢(mèng)想指針
方法一:打開應(yīng)用中心或直接在搜索框搜索《航海王:夢(mèng)想指針》;
在右上角下拉菜單選擇需要的渠道服進(jìn)行下載;
方法二:如果應(yīng)用中心沒有找到需要的應(yīng)用,可以通過(guò)apk安裝,將電腦里面的應(yīng)用同步到模擬器中。
除此之外,MuMu模擬器還可流暢運(yùn)行《明日方舟》、《碧藍(lán)航線》、《第五人格》、《陰陽(yáng)師》等多款熱門手游,新上線的手游也會(huì)同步上架。
要下載其他渠道(B站、華為等)的游戲,可前往MuMu模擬器官網(wǎng)首頁(yè)頂部 “常見問(wèn)題” 搜索 “如何安裝(華為/B站等渠道)的游戲” 等相關(guān)問(wèn)題。
二、下載好模擬器和游戲后再參考以下步驟進(jìn)行設(shè)置:
1.根據(jù)模擬器提示,確保模擬器已經(jīng)開啟VT;
若未開啟VT,可前往MuMu模擬器官網(wǎng)首頁(yè)頂部 “常見問(wèn)題” 搜索 “如何開啟VT” 等相關(guān)問(wèn)題。
2.點(diǎn)擊模擬器右上角-設(shè)置中心-性能,將性能設(shè)置調(diào)至合適狀態(tài);
大部分用戶將性能設(shè)置為“中”即為合適配置,可流暢運(yùn)行絕大部分游戲,配置較差的玩家,自定義不低于“2核/2G”,如果游戲包過(guò)大或者游戲畫質(zhì)要求高,則不低于“4核/3G”。
(注:這里不是設(shè)置得越高越好,CPU核數(shù)最高不得超過(guò)電腦核數(shù)的一半,否則會(huì)產(chǎn)生卡頓。)
3.若運(yùn)行游戲時(shí)出現(xiàn)黑屏、花屏等畫面問(wèn)題,可以嘗試通過(guò)模擬器右上角-設(shè)置中心-性能,切換顯卡渲染模式解決。
注意,不同的顯卡渲染模式需要分別安裝Vulkan,DirectX,若電腦缺失需根據(jù)教程安裝后才可切換。同時(shí)流暢運(yùn)行《航海王:夢(mèng)想指針》還需要在設(shè)置中心-性能-其他優(yōu)化選擇“強(qiáng)制使用獨(dú)立顯卡”。
切換顯卡渲染模式時(shí)遇到問(wèn)題,可前往MuMu模擬器官網(wǎng)首頁(yè)頂部 “常見問(wèn)題” 搜索 “無(wú)法使用Vulkan渲染模式” 等相關(guān)問(wèn)題。
完成以上操作后,你就能盡情享受《航海王:夢(mèng)想指針》帶來(lái)的樂趣啦!
三、《航海王:夢(mèng)想指針》游戲多開和鍵鼠按鍵等功能設(shè)置
此外,MuMu模擬器還針對(duì)《航海王:夢(mèng)想指針》游戲配備了自定義按鍵、游戲多開等多種特色功能!
MuMu模擬器連接鍵盤、鼠標(biāo)、手柄使用,不僅有預(yù)設(shè)的云方案,也可以自定義,搭配智能按鍵、宏按鍵,輕松完成高難操作!想要學(xué)習(xí)如何設(shè)置鍵鼠、手柄鍵位,可前往MuMu模擬器官網(wǎng)首頁(yè)頂部 “常見問(wèn)題” 搜索 “鍵鼠鍵位” 等相關(guān)問(wèn)題。
要后臺(tái)掛機(jī)玩游戲,可以使用MuMu模擬器的操作錄制功能。操作錄制實(shí)現(xiàn)自動(dòng)化點(diǎn)擊執(zhí)行操作,還可以自行設(shè)置停止條件和執(zhí)行間隔,解放雙手,大幅度提升掛機(jī)效率和穩(wěn)定性!要使用MuMu模擬器操作錄制,可前往MuMu模擬器官網(wǎng)首頁(yè)頂部 “常見問(wèn)題” 搜索 “操作錄制” 等相關(guān)問(wèn)題。
MuMu模擬器12支持無(wú)限多開,電腦本身性能越高,多開的上限就越高,并且可使用同步器同時(shí)操作所有多開模擬器,掛機(jī)肝小號(hào)更輕松!還支持窗口一鍵排列哦!
要進(jìn)行《航海王:夢(mèng)想指針》多開,可前往MuMu模擬器官網(wǎng)首頁(yè)頂部 “常見問(wèn)題” 搜索 “多開”、“同步” 等相關(guān)問(wèn)題。
部分游戲在手機(jī)上運(yùn)行受設(shè)備限制,僅支持最高 30 幀或60幀。但MuMu 模擬器使用了智能補(bǔ)幀技術(shù),能夠使游戲幀數(shù)突破至 120 幀或 240 幀,大大提升流暢度,享受更佳的視覺體驗(yàn)!
注意:游戲更新時(shí)可能會(huì)導(dǎo)致高幀失效,MuMu 會(huì)立即修復(fù),耐心等待恢復(fù)即可。
更多玩法與功能,快來(lái)下載MuMu模擬器體驗(yàn),享受非同一般的電腦玩手游“新”體驗(yàn)!加入《航海王:夢(mèng)想指針》玩家社群,與玩家交流經(jīng)驗(yàn)、分享快樂!
【關(guān)于網(wǎng)易MuMu】
網(wǎng)易MuMu模擬器是一款針對(duì)手游玩家開發(fā)的安卓模擬器類電腦軟件,可在電腦上大屏體驗(yàn)市面主流手機(jī)游戲及應(yīng)用,享受240幀高幀畫面帶來(lái)的絲滑游戲體驗(yàn),多開、操作錄制掛機(jī)、智能鍵鼠操作等多樣功能滿足你不同的游戲需求,讓你輕松游戲成神不傷神!
MuMu模擬器官方網(wǎng)站:http://mumu.163.com
官方微博:MuMu模擬器
微信公眾號(hào):Mu醬游戲中心