久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 10621|回復: 18
打印 上一主題 下一主題
收起左側

基于stm32發送串口指令控制LED,蜂鳴器等(串口助手+原理圖+顯示結果)

  [復制鏈接]
跳轉到指定樓層
樓主
///2019 6 12 更新 加入 :串口助手截圖 簡易問題說明
///2019 6 11 更新  加入 :  使用的串口調試助手是  XCOM2.0
///關于直接下載代碼后發送相關指令 開發板無響應的問題簡易說明:(1)查看原理圖,看LED和BEEP的IO口是否與本源程序對應,如果不對應,請修改相關C或H文件;(2)查看波特率,停止位,奇偶校驗位等設置是否正確
///說明, 本人小白一枚,最近學習用正點原子戰艦V3學習32 ,恰好學習到串口這一段,想尋找相關以指令控制元件的代碼,可惜良莠不齊,以下源碼是偶基于網上一些前輩版本修改而來,已經完全實現用漢字指令控制LED 與BEEP,最近正在啃短信控制LED.目前源碼、原理圖已經全部上傳。若有問題 敬請指正




   

//芯片:stm32F103ze  軟件:KEIL5 XCOM2.0
硬件:串口1中 RXD與PA9  TXD與PA10相連接 其余不用變動


#include "sys.h"        
#include "delay.h"        
#include "led.h"   
#include "usart.h"
#include "string.h"
#include "beep.h"

char c[200]; //定義一個長度為200的字符串為c

int main(void)
{
u8 z;
u8 t=0;        
u8 L;
u8 m=0;
u8 h=0;               
delay_init();
LED_Init();
BEEP_Init();
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
uart_init(115200);
while(1)
{
                if(USART_RX_STA&0x8000)
                {
                    L=USART_RX_STA&0x3FFF;
                                        printf("\r\n執行的命令為:\r\n\r\n\r\n");
                    for(z=0;z<L;z++)
                    {
                                 c[z]=USART_RX_BUF[z];
                                USART_SendData(USART1, USART_RX_BUF[z]);//可顯示向串口1發送的指令
                                while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//等待發送結束
                     }

                                USART_RX_STA=0;         
                                USART_ClearFlag(USART1, USART_FLAG_RXNE);
                                if(!(strcmp(c,"打開LED1")))                 
                                {
                                                LED1=0;                                                                        
                                                memset(c,0,200);//將0填充進c指向的200字節內存,也就是清零
                                                                                                    //執行不了的情況
                                }
                                                                if(!(strcmp(c,"打開LED0")))
                                {
                                                LED0=0;                                                                        
                                                memset(c,0,200);  
                                }
                                if(!(strcmp(c,"打開蜂鳴器")))
                                {
                                                BEEP=1;                                                                        
                                                memset(c,0,200);
                                }                                                                 
                                                                 if(!(strcmp(c,"關閉LED1")))
                                {
                                                LED1=1;
                                                memset(c,0,200);
                                 }                                                                        
                                if(!(strcmp(c,"關閉LED0")))
                                {
                                                LED0=1;
                                                memset(c,0,200);
                                }
                                                                if(!(strcmp(c,"關閉蜂鳴器")))
                                {
                                                BEEP=0;                                                                        
                                                memset(c,0,200);
                                }         
                                                                if(!(strcmp(c,"打開所有LED")))
                                {
                                                LED0=0;
                                                                                    LED1=0;
                                                memset(c,0,200);
                                                                }
                                 if(!(strcmp(c,"關閉所有LED")))
                                {
                                                LED0=1;
                                                                                    LED1=1;
                                                memset(c,0,200);
                                }

                }
                                else
                                {        
                     printf(" \r\n %d時%d分%d秒 \r\n",h,m,t);                                       
                                        delay_ms(1000);
                                     t++;
                                        if(t%60==0)
                                        {
                                                m=t/60+m;
                                                if(m%60==0)
                                                {
                                                        h=m/60+h;
                                        printf(" \r\n %d時%d分%d秒 \r\n",m,t,h);
                                                        m=0;
                                                }
                                        else         printf(" \r\n %d時%d分%d秒 \r\n",h,t,m);
                                                     t=0;
                                        }
                                          
                                }
}
}

全部資料51hei下載地址:
usart.7z (185.89 KB, 下載次數: 262)



評分

參與人數 1黑幣 +50 收起 理由
admin + 50

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏7 分享淘帖 頂1 踩
回復

使用道具 舉報

沙發
ID:558088 發表于 2019-6-10 17:59 | 只看該作者
請問一下能控制什么嗎
回復

使用道具 舉報

板凳
ID:558088 發表于 2019-6-10 18:00 | 只看該作者
你好 你發的那個程序 是控制什么的能跟我說一下嘛 我下載了還在研究 剛剛學不懂
回復

使用道具 舉報

地板
ID:558088 發表于 2019-6-10 18:36 | 只看該作者
樓主在嗎 學習下
回復

使用道具 舉報

5#
ID:536427 發表于 2019-6-11 08:44 | 只看該作者
dididi1313 發表于 2019-6-10 18:00
你好 你發的那個程序 是控制什么的能跟我說一下嘛 我下載了還在研究 剛剛學不懂

控制led 蜂鳴器 當沒有指令時 就是一個時鐘,持續向串口發送時分秒
回復

使用道具 舉報

6#
ID:558088 發表于 2019-6-11 10:21 | 只看該作者
我累個去啊啊啊 發表于 2019-6-11 08:44
控制led 蜂鳴器 當沒有指令時 就是一個時鐘,持續向串口發送時分秒

我想問一下哪個是串口的程序 有什么用 我還沒學過這個
回復

使用道具 舉報

7#
ID:536427 發表于 2019-6-11 17:04 | 只看該作者
dididi1313 發表于 2019-6-11 10:21
我想問一下哪個是串口的程序 有什么用 我還沒學過這個

USART.c    USART.h 就是串口程序
回復

使用道具 舉報

8#
ID:558088 發表于 2019-6-11 17:12 | 只看該作者
串口那個助手輸入 然后不能輸出啊
回復

使用道具 舉報

9#
ID:558088 發表于 2019-6-11 20:02 | 只看該作者
我研究了一下午 然后現在能運行了 但是按鈕怎么改也調不了時間 蜂鳴器 燈也不亮
回復

使用道具 舉報

10#
ID:536427 發表于 2019-6-12 16:09 | 只看該作者
dididi1313 發表于 2019-6-11 20:02
我研究了一下午 然后現在能運行了 但是按鈕怎么改也調不了時間 蜂鳴器 燈也不亮

已私信
回復

使用道具 舉報

11#
ID:535196 發表于 2019-6-12 22:38 | 只看該作者
小白想問一下STM32用什么編程軟件比較好,KEIL4好像不可以用32
回復

使用道具 舉報

12#
ID:417845 發表于 2019-6-13 09:45 | 只看該作者
樓主,我的開發板是STM32f407的,下載后編譯沒有問題,但串口輸入沒顯示
回復

使用道具 舉報

13#
ID:536427 發表于 2019-6-16 20:05 | 只看該作者
孤夜之舞 發表于 2019-6-12 22:38
小白想問一下STM32用什么編程軟件比較好,KEIL4好像不可以用32

同小白~  我用的keil5 沒用KEIL4 不知是不是你的魔法棒是否設置有問題  一般Keil5都可以向下兼容的
回復

使用道具 舉報

14#
ID:536427 發表于 2019-6-16 20:08 | 只看該作者
jhv 發表于 2019-6-13 09:45
樓主,我的開發板是STM32f407的,下載后編譯沒有問題,但串口輸入沒顯示

協議一致嗎?   是否IO口配置有問題
回復

使用道具 舉報

15#
ID:430698 發表于 2019-6-19 13:45 | 只看該作者
好資料 學習中
回復

使用道具 舉報

16#
ID:617502 發表于 2019-9-28 11:04 | 只看該作者
不錯  謝謝樓主
回復

使用道具 舉報

17#
ID:660142 發表于 2019-12-13 13:26 來自觸屏版 | 只看該作者
我的也是戰艦v3的板子確實能用,最近也在學串口,非常感謝樓主的程序
回復

使用道具 舉報

18#
ID:763690 發表于 2020-5-28 19:24 | 只看該作者
感謝樓主分享!很好的資源
回復

使用道具 舉報

19#
ID:840806 發表于 2020-11-9 08:42 | 只看該作者
孤夜之舞 發表于 2019-6-12 22:38
小白想問一下STM32用什么編程軟件比較好,KEIL4好像不可以用32

我用的Keil uVision5
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲美女网站 | a级黄色毛片免费播放视频 国产精品视频在线观看 | 国产一区二区 | 欧美午夜精品久久久久久浪潮 | 国产日韩一区二区三免费高清 | 国际精品久久 | 4h影视| 超碰97人人人人人蜜桃 | 羞羞视频网页 | 福利片在线观看 | 国产乱码精品一区二区三区中文 | 亚洲国产欧美国产综合一区 | 久久久精彩视频 | 日韩中文一区 | 精品一区二区观看 | www.天天操.com | 精品亚洲一区二区三区四区五区 | 一区二区三区中文字幕 | 97超碰成人 | 特黄毛片| 99久久精品视频免费 | 国产免费一区二区 | 亚洲综合一区二区三区 | 久久久91精品国产一区二区三区 | 国产丝袜一区二区三区免费视频 | 一区二区三区在线免费观看 | 在线婷婷 | 中文字字幕一区二区三区四区五区 | 欧美久久久网站 | 国产中文原创 | 欧美1—12sexvideos | 啪啪免费 | 精品国产三级 | 欧美午夜精品 | 亚洲激精日韩激精欧美精品 | www..com18午夜观看 | 免费一区二区在线观看 | 都市激情亚洲 | 亚洲精品一区二区三区中文字幕 | 91麻豆产精品久久久久久 | av手机在线免费观看 |