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

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

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

使用串口控制LED燈亮滅

lhz13146887 ? 來源:MCU雜談 ? 作者:MCU雜談 ? 2022-10-11 11:45 ? 次閱讀

我們知道串口通信可以讓單片機(jī)電腦進(jìn)行數(shù)據(jù)交換。那么是否可以用串口來控制LED燈亮滅呢?當(dāng)然是可以的。首先需要保證串口能正常通信,然后是連接LED燈的IO口要初始化完成。如圖分別為串口初始化和LED燈初始化

d5f7cb60-4914-11ed-a3b6-dac502259ad0.png

d69d1f02-4914-11ed-a3b6-dac502259ad0.png

本文是建立在讀者已經(jīng)搭建好串口控制LED燈代碼的基礎(chǔ)上,列舉一些可能犯的錯(cuò)誤。

1接收到了字符,但是無法控制LED燈亮滅。如圖

d6bc4a94-4914-11ed-a3b6-dac502259ad0.png

我們知道我們發(fā)給單片機(jī)的是字符,因此單片機(jī)在接收到的也是字符,因此在控制語句中我們要用字符,比如’0‘,而不是0.如圖switch語句

d6ee2c30-4914-11ed-a3b6-dac502259ad0.png

此處需要將case0改為case’0‘就可以了

2可以控制led亮滅,但是偶爾能收到字符,不能一直收到字符。如圖

d70c6218-4914-11ed-a3b6-dac502259ad0.png

在發(fā)送多次字符0之后,只有兩次接收到了字符0,很多次都沒有接收到。這里的問題是串口中斷。如果讀者是跟著野火的教程做的就會明白這個(gè)問題,剛開始是用串口通信,因此開了串口中斷,而我們的led燈實(shí)驗(yàn)不需要串口中斷,如果有中斷的話,我們每次發(fā)送一個(gè)數(shù)據(jù)就會進(jìn)入中斷里面,因此把串口中斷關(guān)閉就可以解決這個(gè)問題。如圖

d7315ec4-4914-11ed-a3b6-dac502259ad0.png

注釋掉usart_itconfig()這個(gè)函數(shù),即關(guān)閉串口中斷。再試一試

d74e3314-4914-11ed-a3b6-dac502259ad0.png

解決了,每次發(fā)送都能接收到了。

審核編輯:湯梓紅

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

    關(guān)注

    240

    文章

    23062

    瀏覽量

    657053
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6030

    文章

    44489

    瀏覽量

    631980
  • STM32
    +關(guān)注

    關(guān)注

    2264

    文章

    10854

    瀏覽量

    354293
  • 串口
    +關(guān)注

    關(guān)注

    14

    文章

    1540

    瀏覽量

    76060

原文標(biāo)題:stm32串口通信控制LED燈亮滅所遇到的問題

文章出處:【微信號:MCU雜談,微信公眾號:MCU雜談】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    開關(guān)控制led

    各位大俠,求助,我是新手,關(guān)于一個(gè)開關(guān)控制led的問題,就是我按一下開關(guān),第一個(gè)led
    發(fā)表于 08-04 08:54

    gpio是如何去控制led

    gpio是如何去控制led?如何去編寫其主要代碼程序?
    發(fā)表于 08-04 06:28

    怎樣通過串口通信去控制LED

    怎樣通過串口通信去控制LED呢?有什么方法嗎?
    發(fā)表于 10-26 06:39

    如何實(shí)現(xiàn)對LED控制

    #include***it led=P2^0;void delay()//延時(shí)函數(shù),實(shí)現(xiàn)對LED
    發(fā)表于 11-23 08:14

    請教大神STM32的串口是如何去控制LED

    請教大神STM32的串口是如何去控制LED的?
    發(fā)表于 12-07 06:10

    linux控制LED的方法

    對應(yīng)nLED_1,nLED_2,nLED_4,所以代碼里面操作GPF4-GPF6就可以控制LED。2、寫代碼前了解事項(xiàng)...
    發(fā)表于 12-16 06:12

    STM32CubeMXKEIL5的相關(guān)資料分享

    硬件平臺:正點(diǎn)原子STM32MINI開發(fā)板(STM32RCT6)軟件平臺:STM32CubeMXKEIL5實(shí)現(xiàn)功能:串口控制LED
    發(fā)表于 02-21 07:38

    STM32F103ZET6是怎樣用串口控制LED

    STM32F103ZET6 用串口控制LED1.串口
    發(fā)表于 02-22 08:22

    基于GD32F427R板UART1串口控制LED

    仿真設(shè)置斷點(diǎn),發(fā)現(xiàn)電腦端串口發(fā)送0xFF的時(shí)候,MCU收到的是0X66,然后仔細(xì)想了一下,應(yīng)該是串口調(diào)試助手發(fā)送的數(shù)據(jù)不是以十六進(jìn)制數(shù)發(fā)送的,然后在串口助手上勾選以十六進(jìn)制數(shù)發(fā)送數(shù)據(jù)后,就能正常通過
    發(fā)表于 02-02 16:33

    LED和亮度控制

    LED和亮度控制
    發(fā)表于 03-28 14:24 ?42次下載

    如何實(shí)現(xiàn)對LED控制的詳細(xì)資料概述

    這節(jié)課,我們學(xué)習(xí)了通過MakerPanda-ONE主控板的數(shù)字端口實(shí)現(xiàn)對LED控制,了解LED
    發(fā)表于 07-23 08:00 ?7次下載

    EXTI:通過按鍵中斷控制led

    介紹EXTI的使用方法及基本原理并且包括實(shí)驗(yàn)通過按鍵中斷控制led
    發(fā)表于 11-23 18:06 ?27次下載
    EXTI:通過按鍵中斷<b class='flag-5'>控制</b><b class='flag-5'>led</b><b class='flag-5'>燈</b><b class='flag-5'>亮</b><b class='flag-5'>滅</b>

    STM32-CubuMX-HAL庫學(xué)習(xí)(五)-- 串口的基礎(chǔ)收發(fā)實(shí)現(xiàn)

    硬件平臺:正點(diǎn)原子STM32MINI開發(fā)板(STM32RCT6)軟件平臺:STM32CubeMXKEIL5實(shí)現(xiàn)功能:串口控制LED
    發(fā)表于 12-24 19:15 ?1次下載
    STM32-CubuMX-HAL庫學(xué)習(xí)(五)-- <b class='flag-5'>串口</b>的基礎(chǔ)收發(fā)實(shí)現(xiàn)

    使用串口2控制led

    STM32F103ZET6 用串口控制LED1.串口
    發(fā)表于 12-28 19:16 ?9次下載
    使用<b class='flag-5'>串口</b>2<b class='flag-5'>控制</b><b class='flag-5'>led</b><b class='flag-5'>亮</b><b class='flag-5'>滅</b>

    stm32按鍵控制led

    stm32按鍵控制led? 在嵌入式系統(tǒng)中,硬件按鍵常常被用作開關(guān)輸入,控制
    的頭像 發(fā)表于 09-02 17:05 ?1w次閱讀