在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

怎樣用ClickteamFusion2.5與Arduino等串行設(shè)備進(jìn)行通信

454398 ? 來源:工程師吳畏 ? 2019-08-02 10:42 ? 次閱讀

串行對象

盡管是一個旨在創(chuàng)建游戲的軟件包,但Clickteam Fusion 2.5具有通信功能,包括TCP(MooSock)和串行端口(串行對象)。串行端口提供了一種簡單而有效的通信方法,用于在主機(jī)PC和外部設(shè)備(如微控制器)之間傳輸數(shù)據(jù)。但是,串行端口大部分已從主板上移除,并由現(xiàn)在常見的USB端口(通用串行端口)取代。雖然USB支持高速和尋址技術(shù),但它也非常復(fù)雜,只有少數(shù)業(yè)余愛好者敢于在項目中使用USB。實現(xiàn)USB的許多障礙之一是需要驅(qū)動程序,這在基于Windows的計算機(jī)上可能會非常棘手。然而,一些非常聰明的人創(chuàng)建了橋接IC,它實質(zhì)上將一種總線協(xié)議轉(zhuǎn)換為另一種。一種常用的橋接器是串行到USB轉(zhuǎn)換器,允許串行設(shè)備通過USB端口與PC通信。

在Windows中,當(dāng)串行到USB橋接器連接到USB端口時,它將其識別為虛擬串行端口。您可以通過設(shè)備管理器》端口找到串行端口名稱。

怎樣用ClickteamFusion2.5與Arduino等串行設(shè)備進(jìn)行通信

如果您無法識別哪個PORT設(shè)備是Arduino,您可以斷開設(shè)備,記下剩余的端口,然后重新連接設(shè)備。應(yīng)該出現(xiàn)一個新端口,這是Ardunio的串口。就我而言,端口是COM7(USB-SERIAL CH340)。

現(xiàn)在我們知道了串口的名稱,現(xiàn)在是時候進(jìn)行融合應(yīng)用了。首先加載Clickteam Fusion 2.5并創(chuàng)建一個新的空項目。加載第一幀,然后添加串行對象。如果找不到串行對象,則需要將其安裝到擴(kuò)展文件夾中。為此,首先單擊此處下載串行對象,然后將zip文件的內(nèi)容拖到Clickteam Fusion 2.5安裝文件夾中。現(xiàn)在我們的框架中有一個串行對象,我們需要進(jìn)入事件編輯器,然后創(chuàng)建新條件“Start of Frame”,然后添加事件“Open Serial Port”。

第一個此事件所需的參數(shù)是要打開的端口 - 在我們的示例中,這將是7(您不需要添加COM,只需要添加COM編號)。第二個參數(shù)是波特率,對于我們的項目,我們將使用9600的波特率。串行對象不允許其他功能,如奇偶校驗和停止位,但這不應(yīng)該是一個問題,因為默認(rèn)值似乎是8位數(shù)據(jù),一個停止位,沒有奇偶校驗位。雖然這適用于我們的簡單項目,但更高級的項目可能希望能夠動態(tài)連接到串行設(shè)備。執(zhí)行此操作的最佳方法是使用計數(shù)器并按順序連接到每個端口號。下一個事件是檢查COM端口是否打開,如果是,發(fā)送一條簡單的消息,例如“你的ID是什么?”我們想要連接的設(shè)備將被編程為使用唯一的ID進(jìn)行響應(yīng)當(dāng)它收到這樣的消息。我們的MMF2.5程序?qū)?a target="_blank">檢測到此響應(yīng),如果ID與預(yù)期的匹配,則它知道它已連接到正確的設(shè)備。如果沒有,它可以遞增計數(shù)器并繼續(xù)連接到所有可能的端口,直到找到它所尋找的端口。

隨著Arduino的連接,我們當(dāng)按下其中一個按鈕時,需要通過串口發(fā)送數(shù)據(jù)。通過在所需條件下使用“發(fā)送數(shù)據(jù)”事件,可以輕松完成此操作。我們發(fā)送的兩個不同的數(shù)據(jù)包是“LED On Please”用于打開LED,“LED Off Please”用于關(guān)閉它。

當(dāng)Arduino完成命令后,它將響應(yīng)LED的狀態(tài)。但是,println()函數(shù)還在字符串的末尾添加換行符,因此如果我們嘗試使用該字符串,我們將永遠(yuǎn)無法使其正常工作。因此,我們必須清理數(shù)據(jù)并刪除換行符(0x0D 0x0A)。為此,我們首先從串行對象條件“數(shù)據(jù)正在等待”開始(只要通過串行端口接收數(shù)據(jù),就會觸發(fā)此條件)。當(dāng)這個條件觸發(fā)時,我們執(zhí)行三個事件:獲取緩沖區(qū)中等待的字節(jié)數(shù)并存儲該數(shù)字,存儲接收到的字符串,并清理字符串。前兩個很容易做,但清理數(shù)據(jù)需要一些計算。首先,我們使用Mid $(中間字符串),它可以從字符串中獲取片段。字符串源設(shè)置為通過串行端口接收的字符串,起始字符設(shè)置為0(因為我們希望消息的開始),但字符數(shù)設(shè)置為接收的字節(jié)數(shù)減去2.這樣,換行符被忽略!

我們程序的最后一步是將這個已清理的字符串與兩條消息中的一條進(jìn)行比較,結(jié)果,使LED圖標(biāo)顯示或消失。/p》

Arduino

Arduino代碼非常簡單并使用Arduino提供的免費(fèi)IDE(用C ++編寫)編寫。當(dāng)我們的Arduino啟動時,它會運(yùn)行void setup()中的代碼,這就是我們將LED端口配置為輸出,設(shè)置串口以使用9600的波特率,然后關(guān)閉LED 。當(dāng)主循環(huán)啟動時,Arduino會不斷檢查串行緩沖區(qū)以查看是否有可用的數(shù)據(jù)。一旦數(shù)據(jù)可用,它就會將這些數(shù)據(jù)傳輸?shù)揭粋€名為“message”的字符串中,我們將其用于比較。第一次比較檢查是否應(yīng)該打開LED,第二次比較檢查LED是否應(yīng)該關(guān)閉,并且兩次比較都相應(yīng)地發(fā)送有關(guān)LED狀態(tài)的信息

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 串行
    +關(guān)注

    關(guān)注

    0

    文章

    237

    瀏覽量

    33944
  • Arduino
    +關(guān)注

    關(guān)注

    188

    文章

    6477

    瀏覽量

    187692
收藏 人收藏

    評論

    相關(guān)推薦

    ad0804怎樣得到2.5V基準(zhǔn)電壓?

    怎樣得到2.5V基準(zhǔn)電壓 ,自己TL431得到2.5V后 接入?yún)⒖级丝冢瑸槭裁礈y量數(shù)據(jù)不準(zhǔn)確。
    發(fā)表于 01-10 06:38

    如何使用Arduino實現(xiàn)CAN總線通信

    CAN(Controller Area Network)總線是一種常用于汽車和工業(yè)控制系統(tǒng)的串行通信協(xié)議,以其高可靠性和實時性而聞名。Arduino,作為一種流行的開源微控制器平臺,可以通過附加
    的頭像 發(fā)表于 12-23 09:06 ?458次閱讀

    基于Arduino的串口通信項目

    Arduino Mega。 USB數(shù)據(jù)線 :用于將Arduino開發(fā)板連接到計算機(jī)。 串口設(shè)備 :可以是另一個Arduino開發(fā)板、傳感
    的頭像 發(fā)表于 11-22 09:24 ?832次閱讀

    如何使用Arduino實現(xiàn)CAN總線通信

    CAN總線(Controller Area Network)是一種多主控制的串行通信協(xié)議,廣泛應(yīng)用于汽車電子、工業(yè)自動化領(lǐng)域。它以其高可靠性、實時性和靈活性而受到青睞。Arduino
    的頭像 發(fā)表于 11-12 10:09 ?1328次閱讀

    怎樣用THS3201實現(xiàn)輸出功率可調(diào)?

    怎樣用THS3201實現(xiàn)輸出功率可調(diào)?
    發(fā)表于 08-26 08:28

    OPA735加OPA333,怎樣用TINA TI去仿真?

    當(dāng)輸入信號VG1從7.06V慢慢變化到7.22V時。 輸出電壓Vout的變化必須是接近線性變化的。我想知道我該怎樣用TINA TI去仿真?怎樣設(shè)置那個輸入信號VG1才能達(dá)到我的目的。因為這個電壓源好像
    發(fā)表于 08-02 08:39

    怎樣用Arduino測試鋰電池容量

    本文詳細(xì)介紹了如何用Arduino測量鋰電池的容量。并附有電路圖和Arduino的程序代碼。
    的頭像 發(fā)表于 07-30 09:14 ?1015次閱讀
    <b class='flag-5'>怎樣用</b><b class='flag-5'>Arduino</b>測試鋰電池容量

    PLC如何與其他設(shè)備進(jìn)行通信

    與其他設(shè)備進(jìn)行通信,以實現(xiàn)數(shù)據(jù)的交換和指令的傳遞。本文將詳細(xì)探討PLC如何與其他設(shè)備進(jìn)行通信,包
    的頭像 發(fā)表于 06-27 14:07 ?2192次閱讀

    PLC可以與哪些設(shè)備進(jìn)行通信

    在工業(yè)自動化領(lǐng)域中,PLC(可編程邏輯控制器)扮演著至關(guān)重要的角色。它不僅可以通過內(nèi)部存儲的程序執(zhí)行各種邏輯運(yùn)算、順序控制、定時、計數(shù)和算術(shù)操作,還具備強(qiáng)大的通信能力,能夠與各種外部設(shè)備進(jìn)行
    的頭像 發(fā)表于 06-15 11:23 ?1538次閱讀

    高速串行通信協(xié)議都有哪些

    高速串行通信協(xié)議是現(xiàn)代電子設(shè)備中用于數(shù)據(jù)傳輸?shù)年P(guān)鍵技術(shù)。這些協(xié)議在各種應(yīng)用中發(fā)揮著重要作用,如計算機(jī)、移動設(shè)備、網(wǎng)絡(luò)設(shè)備
    的頭像 發(fā)表于 05-31 16:11 ?1250次閱讀

    簡單認(rèn)識UART串行通信協(xié)議

    的數(shù)據(jù)通信,特別是在嵌入式系統(tǒng)、計算機(jī)外設(shè)以及微控制器場景中。本文將對UART串行通信協(xié)議進(jìn)行詳細(xì)的介紹,包括其基本原理、工作方式、參數(shù)設(shè)
    的頭像 發(fā)表于 05-27 16:09 ?2235次閱讀

    怎樣用STM8L的PB3/TIM2_TRIG的引腳測量脈寬?

    怎樣用STM8L的PB3/TIM2_TRIG的引腳測量脈寬?
    發(fā)表于 05-07 06:55

    stm32f100怎樣用重映射功能?

    的是stm32f100c8t6b芯片,現(xiàn)在想用將PB1映射為TIM1_CH3N,在調(diào)用GPIO_PinAFConfig(GPIOB,GPIO_PinSource1,GPIO_AF_TIM1)時, GPIO_PinAFConfig和GPIO_AF_TIM1都沒定義,stm32f100
    發(fā)表于 05-07 06:06

    STM32F412G-DISCO怎樣用MX生成fatfs的代碼?

    STM32F412G-DISCO怎樣用MX生成fatfs的代碼? SD卡例程能跑,但mx生成的代碼不能正常運(yùn)行,我生成代碼后是不是還要配置一些東西?(我生成后只寫了測試代碼) 問題解決了,雖然我不知道我為什么不能直接使用mx生成的代碼去操作sd卡,但我通過復(fù)制粘貼例程的代碼完成了測試。
    發(fā)表于 03-12 08:15

    常見串行通信協(xié)議 串行通信和并行通信的區(qū)別

    串行通信是一種通過單個傳輸線按照順序傳送數(shù)據(jù)的通信方式。在串行通信中,每個數(shù)據(jù)位按照順序依次傳輸,一個接一個地發(fā)送到目標(biāo)
    的頭像 發(fā)表于 03-05 16:38 ?1430次閱讀
    常見<b class='flag-5'>串行</b><b class='flag-5'>通信</b>協(xié)議 <b class='flag-5'>串行</b><b class='flag-5'>通信</b>和并行<b class='flag-5'>通信</b>的區(qū)別
    主站蜘蛛池模板: www.一区二区三区 | 日韩欧美在线第一页 | a成人毛片免费观看 | 日韩精品三级 | 一级视频在线 | freesexvideo性大全| 亚洲精品一区二区中文 | 欧美激情 自拍 | 婷婷丁香四月 | 色综合社区 | 欧美高清一级片 | 日韩亚洲人成在线综合日本 | 天天操天天噜 | 黄色美女网址 | 亚洲男人的天堂在线观看 | 五月天婷婷在线观看高清 | 天天干天天草 | 又粗又长又大又黄的日本视频 | 天天操天天添 | 69久久| 久久久久国产精品免费网站 | jlzzjlzz亚洲大全 | 精品伊人久久大线蕉色首页 | 日本不卡一区二区三区在线观看 | 欧美一区二区三区男人的天堂 | 美女流白浆网站 | xxxxxx日本人免费 | 天天射天天干天天色 | 亚欧美视频 | 日韩欧免费一区二区三区 | 九九色网站 | 99久久婷婷国产综合精品电影 | 国产三级免费观看 | 一区二区三区午夜 | 国产精品三级在线 | 日本aaaa级 | 成 人色 网 站999 | 天堂视频在线 | 亚洲国产精品丝袜在线观看 | 完整日本特级毛片 | 欧美一级特黄aaaaaaa在线观看 |