www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 工業(yè)控制 > 電路設(shè)計(jì)項(xiàng)目集錦
[導(dǎo)讀]它支持第三代或更高版本的Xbox控制器或英飛凌的XENSIV游戲控制器,通過(guò)帶有CAN FD Shield TLE9371VSJ的CAN FD總線將數(shù)據(jù)傳輸?shù)終IT_XMC71_EVK_LITE_V1板。后者處理數(shù)據(jù)并使用自定義圖形適配器XMC71_EVK_DisplayAdapter_V11在屏幕上顯示受Pong啟發(fā)的演示游戲。

該項(xiàng)目涉及兩塊電路板:CYW920829M2EVK-02,它通過(guò)藍(lán)牙低功耗(BLE)連接到游戲控制器,以及KIT_XMC71_EVK_LITE_V1。

它支持第三代或更高版本的Xbox控制器或英飛凌的XENSIV游戲控制器,通過(guò)帶有CAN FD Shield TLE9371VSJ的CAN FD總線將數(shù)據(jù)傳輸?shù)終IT_XMC71_EVK_LITE_V1板。后者處理數(shù)據(jù)并使用自定義圖形適配器XMC71_EVK_DisplayAdapter_V11在屏幕上顯示受Pong啟發(fā)的演示游戲。

硬件

在運(yùn)行代碼之前,請(qǐng)確保所有硬件組件都已正確連接和配置。按照以下步驟設(shè)置硬件:

1. 通過(guò)將XMC71套件的J23頭連接到顯示適配器的J23頭,將XMC71_EVK_DisplayAdapter_V11連接到KIT_XMC71_EVK_LITE_V1。

2. 連接CAN FD屏蔽TLE9371VSJ到CYW920829M2EVK-02:

?將5V和GND引腳分別連接到評(píng)估板上的電源引腳上

?RxD連接到P5.0, TxD連接到P5.1

3. 連接CAN FD屏蔽TLE9371VSJ到KIT_XMC71_EVK_LITE_V1:

通過(guò)跳線將屏蔽的CANL和CANH引腳連接到KIT_XMC71_EVK_LITE_V1的CAN FD頭J14中的適當(dāng)引腳(引腳名稱(chēng)在板的底部)

項(xiàng)目運(yùn)作

要操作該項(xiàng)目,請(qǐng)遵循以下步驟:

1. 閃碼

要使用ModusToolbox為任何一個(gè)項(xiàng)目閃爍代碼(這里為XMC71_CAN_and_Display完成,但對(duì)兩個(gè)項(xiàng)目都是一樣的),請(qǐng)遵循以下步驟

?從本文開(kāi)頭處下載項(xiàng)目的.zip文件。

?將.zip文件的內(nèi)容解壓縮到計(jì)算機(jī)上的一個(gè)文件夾中。

?打開(kāi)模塊工具箱的Eclipse IDE。

?在開(kāi)始下的快速面板中,單擊“導(dǎo)入現(xiàn)有應(yīng)用程序”。

?選擇在步驟1中提取的文件夾。

?一旦項(xiàng)目被加載,點(diǎn)擊項(xiàng)目名稱(chēng)下的“Build project”按鈕。

?將適當(dāng)?shù)碾娐钒暹B接到計(jì)算機(jī)上。

?點(diǎn)擊“啟動(dòng)”下的“運(yùn)行”按鈕,這將使代碼閃現(xiàn)到電路板上。

2. 配對(duì)設(shè)備

現(xiàn)在兩個(gè)板都閃過(guò)了,是時(shí)候?qū)⒖刂破髋c它們配對(duì)了。遵循以下步驟:

?兩個(gè)單板都上電。您應(yīng)該看到等待屏幕,顯示“waiting for controller to connect…”,并顯示連接說(shuō)明。

?如果您正在使用Xbox控制器,請(qǐng)按下Xbox按鈕(Xbox控制器圖上的數(shù)字5)來(lái)打開(kāi)它,并按住配對(duì)按鈕(控制器圖上的數(shù)字6)幾秒鐘將其置于配對(duì)模式,直到Xbox按鈕開(kāi)始快速閃爍。

?對(duì)于XENSIV游戲控制器,你所要做的就是打開(kāi)它,它就會(huì)自動(dòng)開(kāi)始廣告。

?按CYW920829M2EVK-02板上的USER BTN1按鈕

?等待幾秒鐘,等待配對(duì)過(guò)程完成。

?在Xbox控制器的情況下,CYW920829M2EVK-02上將亮起紅色LED。要完成配對(duì),請(qǐng)?jiān)俅伟醋∨鋵?duì)按鈕,直到Xbox按鈕停止閃爍并保持穩(wěn)定。

?對(duì)于XENSIV控制器,當(dāng)配對(duì)完成時(shí),控制器顯示“成功配對(duì)到…”,控制器上的綠色LED發(fā)光。

開(kāi)始演示

連接建立成功后,CYW920829M2EVK-02開(kāi)始發(fā)送報(bào)文。當(dāng)KIT_XMC71_EVK_LITE_V1開(kāi)始接收這些數(shù)據(jù)包時(shí),顯示將更改為顯示標(biāo)題屏幕。該屏幕將顯示英飛凌徽標(biāo)和參與創(chuàng)建XMC71_EVK_DisplayAdapter_V11自定義板的合作伙伴公司的徽標(biāo)。幾秒鐘后,演示將開(kāi)始。我們將首先描述控制器按鈕的Xbox名稱(chēng),并將XENSIV放在括號(hào)中。每個(gè)控制器中功能相同的按鈕在上面的控制器圖中編號(hào)相同。

使用演示

演示由兩個(gè)模塊組成:幫助屏幕模塊顯示項(xiàng)目名稱(chēng)和可用用戶輸入的詳細(xì)信息;Pong模塊是經(jīng)典Pong游戲的簡(jiǎn)化版本,可以由一個(gè)或兩個(gè)玩家使用一個(gè)控制器進(jìn)行游戲。它由兩個(gè)屏幕組成。游戲屏幕顯示實(shí)際游戲,當(dāng)其中一名玩家輸了,游戲結(jié)束屏幕就會(huì)顯示出來(lái)。

為了控制游戲,你可以使用:RB (R1)(控制器圖中的2號(hào))來(lái)啟動(dòng)/重新啟動(dòng)游戲。LB (L1)(控制器圖中編號(hào)1)進(jìn)入幫助界面。左右搖桿(控制器圖中分別為4號(hào)和5號(hào)按鈕)用于控制Pong模塊中各自的搖桿。

軟件

下圖顯示了這個(gè)項(xiàng)目中軟件的一般流程。它顯示了兩個(gè)項(xiàng)目的一般簡(jiǎn)化操作及其相互作用。大寫(xiě)并帶下劃線的名稱(chēng)表示程序內(nèi)部有限狀態(tài)機(jī)中的狀態(tài)。

缺省情況下,控制器數(shù)據(jù)每50毫秒發(fā)送一次。這可以在文件Bluetooth_LE_Game_Controller\source\app_communication\app_communication.h中的CONTROLLER_STATUS_PERIOD_MS中進(jìn)行更改

《Pong》游戲邏輯包含兩種狀態(tài):

1. PONG_PLAY:在此狀態(tài)下,球拍位置根據(jù)用戶輸入更新,并管理碰撞。游戲也檢查游戲結(jié)束條件,設(shè)置gameOver標(biāo)志,當(dāng)槳未能擊中ba

2. PONG_OVER:在這種狀態(tài)下,玩家會(huì)看到提示游戲結(jié)束以及如何重新開(kāi)始的文本。

程序的無(wú)限循環(huán)包括一個(gè)名為runAndUpdateGameState()的函數(shù),它使用開(kāi)關(guān)/case結(jié)構(gòu)來(lái)管理圖1中所示的狀態(tài)。這個(gè)函數(shù)處理狀態(tài)之間的轉(zhuǎn)換,并調(diào)用適當(dāng)?shù)暮瘮?shù)在顯示器上呈現(xiàn)每個(gè)屏幕。

此外,gameModuleHandler()函數(shù)負(fù)責(zé)管理模塊之間的轉(zhuǎn)換。它注冊(cè)時(shí),RB (R1)和LB (L1)按鈕被按下,并觸發(fā)演示時(shí),他們被釋放的變化。

總結(jié)

這個(gè)項(xiàng)目結(jié)合了幾個(gè)嵌入式功能,可能會(huì)對(duì)你的下一個(gè)項(xiàng)目感興趣:

?通過(guò)藍(lán)牙LE (BLE)連接游戲控制器到您的系統(tǒng)

?橋接BLE到CAN網(wǎng)絡(luò)

?驅(qū)動(dòng)顯示器

本文編譯自hackster.io

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀
關(guān)閉