色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

怎樣使用來自PC的串行命令控制外部LED

454398 ? 來源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2019-12-05 15:53 ? 次閱讀

chipKIT Uno32板上的PIC32處理器提供兩個(gè)硬件串行端口。板載FTDI芯片使用其中之一來創(chuàng)建USB-UART接口,該接口允許PC上運(yùn)行的MPIDE工具通過USB端口與Uno32板進(jìn)行通信。在本教程中,我們將使用相同的USB-UART接口來演示Uno32與PC之間的雙向異步串行通信。 Uno32板通過PC的USB端口接收串行命令,以打開和關(guān)閉外部LED。作為回報(bào),Uno32板通過發(fā)送LED的新狀態(tài)來確認(rèn)PC。

怎樣使用來自PC的串行命令控制外部LED

理論

chipKIT Uno32板具有兩個(gè)硬件串行端口: UART port1 和 UART端口2。引腳0和引腳1用作 UART端口1的 RX 和 TX 。 這些引腳也被板上的FT232R USB串行轉(zhuǎn)換器使用。同樣, UART端口2 分別使用引腳39和引腳40來實(shí)現(xiàn) RX 和 TX 功能。我們將在本教程中使用 UART port1 ,因?yàn)樗试S通過USB端口與PC進(jìn)行串行通信。

MPIDE具有內(nèi)置的串行監(jiān)視工具,可讓您進(jìn)行以下操作:觀察Uno32發(fā)送其串行端口的任何數(shù)據(jù)。它還使您可以通過同一串行接口將字符從PC發(fā)送回Uno32板。您可以通過單擊工具欄中的串行監(jiān)視器按鈕來打開串行監(jiān)視器窗口。在Windows版本的MPIDE中,串行監(jiān)視器窗口如下所示。

MPIDE串行監(jiān)視器窗口

其中有空白文本在頂部的方框中輸入要發(fā)送到chipKIT Uno32板的文本。在下面的空白處,將顯示Uno32板發(fā)送的串行數(shù)據(jù)。在右下角,您可以選擇串行通信的波特率(速度)。波特率的默認(rèn)設(shè)置為9600波特,但是您可以從下拉菜單中選擇其他波特率。請(qǐng)注意,對(duì)于串行通信,必須將chipKIT板配置為相同的波特率。返回到MPIDE的編程模式之前,必須釋放串行端口。您可以通過關(guān)閉串行監(jiān)視器窗口來做到這一點(diǎn)。

電路設(shè)置

本教程的實(shí)驗(yàn)電路設(shè)置非常簡單。您所需要的只是一個(gè)LED和一個(gè)220?串聯(lián)電阻。將通過從PC接收到的串行命令來控制LED。下圖顯示了與Uno32板的LED連接。 LED連接到引腳2。請(qǐng)注意,在串行通信期間,數(shù)字引腳0(RX)和1(TX)被占用,不能用于其他I/O。該板已連接到USB端口并從USB接收電源

通過PC上的串行命令控制的外部LED

書寫草圖

在設(shè)置功能中,您需要告訴Uno32打開串行端口。這是通過 Serial.begin()命令完成的。括號(hào)內(nèi)的數(shù)字設(shè)置串行通訊的波特率。與計(jì)算機(jī)通訊的典型波特率是9600,但也支持其他速度。接下來,您需要將Pin 2定義為輸出,可以使用 pinMode()函數(shù)完成。

為了將數(shù)據(jù)從Uno32發(fā)送到PC,MPIDE主要提供了兩個(gè)命令: Serial.print()和 Serial.println()。兩者都通過串行端口將括號(hào)內(nèi)的內(nèi)容發(fā)送到PC。在PC端,接收到的數(shù)據(jù)顯示在串行監(jiān)視器窗口中。但是,使用 print 和 println 的區(qū)別在于它們從串行端口打印數(shù)據(jù)的方式。當(dāng)您使用 Serial.print()時(shí),光標(biāo)將停留在剛打印的內(nèi)容的末尾。因此,如果緊隨其后的是另一個(gè)打印命令,則新數(shù)據(jù)將在同一行中先前接收到的數(shù)據(jù)的結(jié)尾處顯示在串行監(jiān)視器窗口中。另一方面, Serial.println()會(huì)在末尾帶有換行符來打印數(shù)據(jù),在打印完數(shù)據(jù)后,光標(biāo)會(huì)向下移動(dòng)到下一行。這兩個(gè)命令可以采用多種形式,在Arduino串行庫頁面中對(duì)此進(jìn)行了很好的描述。

這里是完整的程序,用于通過PC通過串行線路發(fā)送的命令字節(jié)來控制外部LED。如果Uno32從PC接收到“ 1”,則它將點(diǎn)亮LED。如果接收到“ 0”,則LED熄滅。響應(yīng)該命令,Uno32將LED的新狀態(tài)打印回PC。

/*

Tutorial 2: Serial interface between PC and chipKIT

Description: chipKIT UNO32 receives commands from a PC through serial port

and control an external LED connected to pin 2

Board: chipKIT UNO32

*/

const int LED_PIN = 2; // LED is connected to digital I/O pin 2

int SERIAL_DATA; // Variable to store incoming serial byte

void setup() {

Serial.begin(9600); // Sets the baud rate for serial transmission

pinMode(LED_PIN, OUTPUT);

// Send these messages to PC only once

Serial.println(“Serial interface between PC and chipKIT”);

Serial.println(“1: LED ON, 0: LED OFF”);

digitalWrite(LED_PIN, LOW); // LED is off initially

}

void loop() {

if(Serial.available()》0){ // Check if serial data is available.

SERIAL_DATA = Serial.read(); // If yes, read the incoming byte

if(SERIAL_DATA == ‘1’) { // Check if the received byte is ‘1’

digitalWrite(LED_PIN, HIGH); // If so, turn the LED ON

Serial.println(“LED is ON”); // and acknowledge.

}

if(SERIAL_DATA == ‘0’) { // If the received byte is ‘0’,

digitalWrite(LED_PIN, LOW); // turn the LED OFF and

Serial.println(“LED is OFF”); // acknowledge.

}

}

}

下載草圖文件

Serial.begin(9600)打開序列號(hào)Uno32的端口,并設(shè)置9600的波特率。您可以看到在設(shè)置函數(shù)中有兩個(gè) Serial.println()命令。它們?cè)诖芯€上打印兩條文本消息,這些消息顯示在串行監(jiān)視器上。由于設(shè)置功能僅執(zhí)行一次,因此這些消息在開始時(shí)也僅打印一次。在循環(huán)功能內(nèi)部使用 Serial.available()命令,該命令檢查PC是否已將任何字符發(fā)送到串行端口。它返回可從串行端口讀取的字符數(shù)。一旦有可用數(shù)據(jù),就可以使用 Serial.read()命令進(jìn)行讀取。然后Uno32將接收到的字節(jié)與“ 1”和“ 0”進(jìn)行比較,以對(duì)LED采取適當(dāng)?shù)牟僮鳌?/p>

輸出

驗(yàn)證并上傳以上內(nèi)容素描到Uno32板上。打開串行監(jiān)視器窗口,并確保將其配置為使用9600的波特率。重置Uno32板,并等待其退出引導(dǎo)加載程序模式,以便它可以執(zhí)行用戶程序。您將在串行監(jiān)視器上讀到兩條文本行(“ PC和chipKIT之間的串行接口”和“ 1:LED亮,0:LED滅”) Uno32。如果您在頂部的發(fā)送框中輸入“ 1”,然后點(diǎn)擊發(fā)送按鈕,它將通過串行線路發(fā)送。 Uno32接收到命令字節(jié)后,將點(diǎn)亮LED。如果發(fā)送的是“ 0”,則LED將熄滅。 Uno32板通過在串行監(jiān)視器上打印回新的LED狀態(tài)來確認(rèn)收到的命令。如果收到的字符不是‘0’和‘1’,則Uno32將忽略它。

通過串行命令控制LED

責(zé)任編輯:wv

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

    關(guān)注

    242

    文章

    23472

    瀏覽量

    665641
  • 串行
    +關(guān)注

    關(guān)注

    0

    文章

    237

    瀏覽量

    34066
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    PC1902同步降壓LED驅(qū)動(dòng)器規(guī)格書

    電流模式操作提供快速的瞬態(tài)響應(yīng)。LED電流低紋波和外部電感器和電容器尺寸小以1MHz的開關(guān)頻率實(shí)現(xiàn)。PC1902需要最少數(shù)量的可用的標(biāo)準(zhǔn)外部組件提供符合ROHS標(biāo)準(zhǔn)的6針SOT23-6
    發(fā)表于 02-09 10:51 ?1次下載

    UART通信協(xié)議介紹和數(shù)據(jù)傳輸工作流程

    UART是一種通用串行數(shù)據(jù)總線,用于異步通信。該總線雙向通信,可實(shí)現(xiàn)全雙工傳輸和接收。UART通常用來實(shí)現(xiàn)與PC之間數(shù)據(jù)通信,命令控制信息
    的頭像 發(fā)表于 10-24 14:20 ?1209次閱讀
    UART通信協(xié)議介紹和數(shù)據(jù)傳輸工作流程

    如何實(shí)現(xiàn)51單片機(jī)與PC機(jī)的串行通信

    51單片機(jī)與PC機(jī)的串行通信是一種常見的通信方式,它允許單片機(jī)通過串行接口與PC機(jī)進(jìn)行數(shù)據(jù)交換。這種通信方式在嵌入式系統(tǒng)、工業(yè)控制、物聯(lián)網(wǎng)等
    的頭像 發(fā)表于 10-21 11:35 ?1582次閱讀

    外部端口和內(nèi)部端口是什么意思

    在計(jì)算機(jī)網(wǎng)絡(luò)和網(wǎng)絡(luò)安全領(lǐng)域,"外部端口"和"內(nèi)部端口"這兩個(gè)術(shù)語通常用來描述網(wǎng)絡(luò)通信中的端口配置和訪問控制外部端口(External Port)
    的頭像 發(fā)表于 10-17 10:50 ?1614次閱讀

    PC9248雙向降壓-升壓控制器中文手冊(cè)

    和升壓模式之間無縫轉(zhuǎn)換。 PC9248?集成了高側(cè)和低側(cè)柵極驅(qū)動(dòng)器,并為兩個(gè)驅(qū)動(dòng)軌提供 UVLO?保護(hù)。它還支持非同步降壓操作。它提供可編程輸入電流限制和精確的LED?電流調(diào)節(jié)。 LED?開路和短路檢測(cè)功能可保護(hù)設(shè)備免受
    發(fā)表于 08-23 14:28 ?1次下載

    PC8655同步四開關(guān)升降壓LED專用控制器_恒流恒壓輸出_支持PWM調(diào)光功能

    都很高,高達(dá)96%?±3%LED電流精度? 高側(cè)PMOS調(diào)光FET柵極驅(qū)動(dòng)器? 開關(guān)頻率范圍為200 kHz至700 kHz具有自動(dòng)擴(kuò)頻功能? 模擬和PWM調(diào)光(嵌入式或外部)?LED和輸入電流
    發(fā)表于 07-31 15:09

    通過串行和AT命令使用wps8266,是否可以使用WPS PBC功能和AT命令

    我正在通過串行和 AT 命令使用 wps8266,是否可以使用 WPS PBC 功能和 AT 命令
    發(fā)表于 07-16 07:35

    SM5266PC高集成度LED顯示驅(qū)動(dòng)控制芯片中文手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《SM5266PC高集成度LED顯示驅(qū)動(dòng)控制芯片中文手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 07-13 11:05 ?8次下載

    YXC可編程晶振,頻點(diǎn)2.4576MHz,CMOS輸出,應(yīng)用于LED控制

    一些LED控制器具有通信接口,可以通過外部設(shè)備或者網(wǎng)絡(luò)進(jìn)行遠(yuǎn)程控制。而晶振用于同步通信接口的數(shù)據(jù)傳輸,確保LED
    的頭像 發(fā)表于 06-25 16:00 ?479次閱讀
    YXC可編程晶振,頻點(diǎn)2.4576MHz,CMOS輸出,應(yīng)用于<b class='flag-5'>LED</b><b class='flag-5'>控制</b>器

    TM1680存儲(chǔ)器交換LED顯示控制的驅(qū)動(dòng)芯片規(guī)格書

    的脈寬調(diào)制控制輸出, 可以調(diào)整 LED 循環(huán)顯示的亮度。利用串行接口(I2C通信接口)串行輸入的方式,可以便捷地進(jìn)入命令 模式(COMMAN
    發(fā)表于 06-14 16:59 ?6次下載

    TM1681存儲(chǔ)器交換LED顯示控制的驅(qū)動(dòng)芯片規(guī)格書

    的脈寬調(diào)制控制輸出, 可以調(diào)整 LED 循環(huán)顯示的亮度。利用串行接口串行輸入的方式,可以便捷地進(jìn)入命令模式 (COMMAND、 MDOE )
    發(fā)表于 06-14 16:58 ?0次下載

    使用USBUART組件與主機(jī)PC通信,如果在串行端口打開的情況下終止固件,主機(jī)端為什么會(huì)報(bào)錯(cuò)?

    我正在使用 USBUART 組件與主機(jī) PC 通信,我一直在尋找某種機(jī)制來關(guān)閉 MCU 端的串行端口,或者至少通知主機(jī)我將關(guān)閉端口。 我遇到過這樣一個(gè)問題:如果在串行端口打開的情況下終止固件(如重置
    發(fā)表于 06-03 08:41

    stm8外部中斷用來脈沖計(jì)數(shù),外部中斷開始計(jì)數(shù),LED燈就不正常了的原因?

    外部中斷用來脈沖計(jì)數(shù)。不計(jì)數(shù)時(shí),定時(shí)器正常,每秒翻轉(zhuǎn)一次LED燈。外部中斷開始計(jì)數(shù),LED燈就不正常了,有時(shí)兩三秒,有時(shí)五六秒才翻轉(zhuǎn)。一開始
    發(fā)表于 04-22 07:29

    串行PCMCIA控制器的雙插槽PC卡電源接口開關(guān)TPS2206數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《串行PCMCIA控制器的雙插槽PC卡電源接口開關(guān)TPS2206數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 03-15 14:55 ?0次下載
    <b class='flag-5'>串行</b>PCMCIA<b class='flag-5'>控制</b>器的雙插槽<b class='flag-5'>PC</b>卡電源接口開關(guān)TPS2206數(shù)據(jù)表

    用于串行PCMCIA控制器的雙插槽PC卡電源接口交換機(jī)數(shù)據(jù)表 (Rev. D)

    電子發(fā)燒友網(wǎng)站提供《用于串行PCMCIA控制器的雙插槽PC卡電源接口交換機(jī)數(shù)據(jù)表 (Rev. D).pdf》資料免費(fèi)下載
    發(fā)表于 03-15 14:46 ?0次下載
    用于<b class='flag-5'>串行</b>PCMCIA<b class='flag-5'>控制</b>器的雙插槽<b class='flag-5'>PC</b>卡電源接口交換機(jī)數(shù)據(jù)表 (Rev. D)
    主站蜘蛛池模板: 51国产偷自视频在线视频播放 | 97视频免费在线 | 国产精品久久久久久免费播放 | 先锋影音av无码第1页 | 欧美重口绿帽video | 嫩草伊人久久精品少妇AV网站 | 热思思 | 国产精品99久久免费黑人人妻 | 久久国产加勒比精品无码 | 国产在线一区二区三区四区 | 午夜理论片YY4399影院 | 沈阳熟女露脸对白视频 | 免费国产成人手机在线观看 | 一手揉着乳头一手模仿抽插视频 | 在线免费观看国产 | adc影院欢迎您大驾光临入口 | 双性将军粗壮H灌满怀孕 | 伊在香蕉国产在线视频 | 91青青草原 | 18国产精品白浆在线观看免费 | 女配穿书病娇被强啪h | 秋霞电影网午夜一级鲁丝片 | 免费国产网站 | 在线观看亚洲免费视频 | 男女又黄又刺激B片免费网站 | 亚洲大码熟女在线 | 亚洲第一区欧美日韩精品 | 国产精品久久久久久搜索 | 精品AV国产一区二区三区 | 狠狠狠色丁香婷婷综合久久 | 草莓视频在线免费观看 | 中文字幕视频在线免费观看 | 亚洲熟少妇在线播放999 | 野花香在线观看免费高清播放视频 | 嫩草影院久久精品 | 久久99精品涩AV毛片观看 | 亚洲AV精品无码喷水直播间 | 菠萝菠萝蜜在线观看视频 | 99精品国产福利在线观看 | 春水福利app导航 | 国产网址在线观看 |