chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

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

454398 ? 來(lái)源:工程師吳畏 ? 2019-08-02 10:42 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

串行對(duì)象

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

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

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

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

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

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

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

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

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

Arduino

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

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

    關(guān)注

    0

    文章

    255

    瀏覽量

    35161
  • Arduino
    +關(guān)注

    關(guān)注

    190

    文章

    6514

    瀏覽量

    195852
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    并行與串行的基本通信方式

    1、并行通信方式:將數(shù)據(jù)字節(jié)的各位多條數(shù)據(jù)線(xiàn)同時(shí)進(jìn)行傳輸,每位數(shù)據(jù)都需要一條傳輸線(xiàn)。 2、串行通信方式:
    發(fā)表于 11-24 06:36

    Xilinx FPGA串行通信協(xié)議介紹

    Xilinx FPGA因其高性能和低延遲,常用于串行通信接口設(shè)計(jì)。本文深入分析了Aurora、PCI Express和Serial RapidIO這三種在Xilinx系統(tǒng)設(shè)計(jì)中關(guān)鍵的串行通信
    的頭像 發(fā)表于 11-14 15:02 ?1668次閱讀
    Xilinx FPGA<b class='flag-5'>串行</b><b class='flag-5'>通信</b>協(xié)議介紹

    PLC聯(lián)網(wǎng)有什么通信設(shè)備

    PLC(可編程邏輯控制器)聯(lián)網(wǎng)時(shí),可使用的通信設(shè)備涵蓋多種類(lèi)型,以下從有線(xiàn)通信設(shè)備、無(wú)線(xiàn)通信設(shè)備
    的頭像 發(fā)表于 11-10 17:54 ?378次閱讀

    通信接口模塊的設(shè)計(jì)

    和讀、寫(xiě)、片選控制線(xiàn)以及中斷輸出,可以方便地掛接到單片機(jī)/DSP/MCU控制器的系統(tǒng)總線(xiàn)上。在USB主機(jī)方式下,CH375還提供了串行通信方式,通過(guò)串行輸入、
    發(fā)表于 10-29 07:00

    串行通信相關(guān)的基礎(chǔ)知識(shí)

    串行通信是電子設(shè)備中數(shù)據(jù)交換的基石。最常見(jiàn)的串行通信協(xié)議有UART,SPI,I2C。
    的頭像 發(fā)表于 10-15 10:53 ?1675次閱讀
    <b class='flag-5'>串行</b><b class='flag-5'>通信</b>相關(guān)的基礎(chǔ)知識(shí)

    串行通信和并行通信的區(qū)別是什么

    串行通信和并行通信是數(shù)據(jù)傳輸?shù)膬煞N基本方式,它們?cè)跀?shù)據(jù)傳輸方式、線(xiàn)路設(shè)計(jì)、傳輸效率、應(yīng)用場(chǎng)景等方面存在顯著差異。以下是兩者的詳細(xì)對(duì)比: 一、數(shù)據(jù)傳輸方式 串行
    的頭像 發(fā)表于 07-22 10:55 ?1684次閱讀

    全面了解串行通信

    串行通信是一種數(shù)據(jù)傳輸方式,它將數(shù)據(jù)按 逐位順序 (bit by bit)在一條傳輸線(xiàn)上發(fā)送和接收,與并行通信(同時(shí)傳輸多位數(shù)據(jù))形成對(duì)比。以下是其核心概念、工作原理、特點(diǎn)及應(yīng)用的詳細(xì)解釋?zhuān)?一
    的頭像 發(fā)表于 07-19 14:13 ?1110次閱讀

    RS485串行通信協(xié)議介紹

    在上期我們介紹了RS232串行通訊,本期我們將進(jìn)一步深入探討另一種廣泛應(yīng)用于工業(yè)自動(dòng)化和數(shù)據(jù)通信領(lǐng)域的串行通信標(biāo)準(zhǔn)——RS485。
    的頭像 發(fā)表于 05-15 11:42 ?1112次閱讀
    RS485<b class='flag-5'>串行</b><b class='flag-5'>通信</b>協(xié)議介紹

    《ESP32S3 Arduino開(kāi)發(fā)指南》第二章 Arduino基礎(chǔ)知識(shí)

    的發(fā)展,在Arduino出現(xiàn)以前,雖然也有很多公司在推廣一些簡(jiǎn)單易用的可編程控制器,但是由于開(kāi)發(fā)平臺(tái)種類(lèi)繁多,而且使用這些控制器基本上都需要對(duì)電子技術(shù)、數(shù)字邏輯、寄存器內(nèi)容進(jìn)行多方面的了解和學(xué)習(xí),才能
    發(fā)表于 05-13 09:28

    串行通信接口SPI與QSPI的區(qū)別

    在嵌入式系統(tǒng)的世界里,選擇正確的通信技術(shù)可以對(duì)項(xiàng)目的性能和可擴(kuò)展性產(chǎn)生重大影響。讓我們比較兩個(gè)流行的串行通信接口:SPI(串行外設(shè)接口)和QSPI(四路SPI)。
    的頭像 發(fā)表于 04-09 15:24 ?2473次閱讀
    <b class='flag-5'>串行</b><b class='flag-5'>通信</b>接口SPI與QSPI的區(qū)別

    串行接口的工作方式有幾種,串行接口的RXD1和TXD1是什么端口

    在數(shù)字通信領(lǐng)域,串行接口作為一種高效的數(shù)據(jù)傳輸方式,廣泛應(yīng)用于各種電子設(shè)備之間的數(shù)據(jù)交換。串行接口不僅具有結(jié)構(gòu)簡(jiǎn)單、傳輸距離遠(yuǎn)、抗干擾能力強(qiáng)
    的頭像 發(fā)表于 01-29 16:51 ?2070次閱讀

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

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

    韓國(guó)企業(yè)Mythosia發(fā)布面向嵌入式行業(yè)的腳本驅(qū)動(dòng)串行通信

    專(zhuān)注于嵌入式與固件開(kāi)發(fā)的韓國(guó)企業(yè)Mythosia全新推出了一款基于腳本運(yùn)行的串行通信監(jiān)控程序“CRMT”。 ? CRMT設(shè)計(jì)為可應(yīng)用于包括Arduino在內(nèi)的多種嵌入式行業(yè),能夠同時(shí)提供串行
    的頭像 發(fā)表于 12-30 11:20 ?1065次閱讀
    韓國(guó)企業(yè)Mythosia發(fā)布面向嵌入式行業(yè)的腳本驅(qū)動(dòng)<b class='flag-5'>串行</b><b class='flag-5'>通信</b>

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

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

    MTK6737M設(shè)置VREF輸出2.5V,測(cè)試是否建立通信,VREF腳位沒(méi)有電壓變化,為什么?

    主控平臺(tái)為MTK6737M,主控端自環(huán)測(cè)試正常。設(shè)置VREF輸出2.5V,測(cè)試是否建立通信。上圖是往07地址寫(xiě)入0x3c的波形。VREF腳位沒(méi)有電壓變化。 圖二為ads7871各引腳電壓 圖三為ads7871硬件原理圖
    發(fā)表于 12-23 08:23