亚洲春色中文字幕久久久-三上亚,91精品国产亚一区二区三区,久久久九色综合亚洲成色777,涩涩视频下载,国产午夜亚洲精品午夜鲁丝片,国产精品A一区二区三区腾讯导航,影音先锋色情AV在线看片,蜜臀国产在线视频,极品少妇高潮啪啪无码吴梦梦 ,精品人妻无码一区二区三区手机版

標(biāo)題: 基于stm32發(fā)送串口指令控制LED,蜂鳴器等(串口助手+原理圖+顯示結(jié)果) [打印本頁]

作者: 我累個去啊啊啊    時間: 2019-6-3 08:35
標(biāo)題: 基于stm32發(fā)送串口指令控制LED,蜂鳴器等(串口助手+原理圖+顯示結(jié)果)
///2019 6 12 更新 加入 :串口助手截圖 簡易問題說明
///2019 6 11 更新  加入 :  使用的串口調(diào)試助手是  XCOM2.0
///關(guān)于直接下載代碼后發(fā)送相關(guān)指令 開發(fā)板無響應(yīng)的問題簡易說明:(1)查看原理圖,看LED和BEEP的IO口是否與本源程序?qū)?yīng),如果不對應(yīng),請修改相關(guān)C或H文件;(2)查看波特率,停止位,奇偶校驗(yàn)位等設(shè)置是否正確
///說明, 本人小白一枚,最近學(xué)習(xí)用正點(diǎn)原子戰(zhàn)艦V3學(xué)習(xí)32 ,恰好學(xué)習(xí)到串口這一段,想尋找相關(guān)以指令控制元件的代碼,可惜良莠不齊,以下源碼是偶基于網(wǎng)上一些前輩版本修改而來,已經(jīng)完全實(shí)現(xiàn)用漢字指令控制LED 與BEEP,最近正在啃短信控制LED.目前源碼、原理圖已經(jīng)全部上傳。若有問題 敬請指正




   

//芯片: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執(zhí)行的命令為:\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發(fā)送的指令
                                while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//等待發(fā)送結(jié)束
                     }

                                USART_RX_STA=0;         
                                USART_ClearFlag(USART1, USART_FLAG_RXNE);
                                if(!(strcmp(c,"打開LED1")))                 
                                {
                                                LED1=0;                                                                        
                                                memset(c,0,200);//將0填充進(jìn)c指向的200字節(jié)內(nèi)存,也就是清零
                                                                                                    //執(zhí)行不了的情況
                                }
                                                                if(!(strcmp(c,"打開LED0")))
                                {
                                                LED0=0;                                                                        
                                                memset(c,0,200);  
                                }
                                if(!(strcmp(c,"打開蜂鳴器")))
                                {
                                                BEEP=1;                                                                        
                                                memset(c,0,200);
                                }                                                                 
                                                                 if(!(strcmp(c,"關(guān)閉LED1")))
                                {
                                                LED1=1;
                                                memset(c,0,200);
                                 }                                                                        
                                if(!(strcmp(c,"關(guān)閉LED0")))
                                {
                                                LED0=1;
                                                memset(c,0,200);
                                }
                                                                if(!(strcmp(c,"關(guān)閉蜂鳴器")))
                                {
                                                BEEP=0;                                                                        
                                                memset(c,0,200);
                                }         
                                                                if(!(strcmp(c,"打開所有LED")))
                                {
                                                LED0=0;
                                                                                    LED1=0;
                                                memset(c,0,200);
                                                                }
                                 if(!(strcmp(c,"關(guān)閉所有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, 下載次數(shù): 262)




作者: dididi1313    時間: 2019-6-10 17:59
請問一下能控制什么嗎

作者: dididi1313    時間: 2019-6-10 18:00
你好 你發(fā)的那個程序 是控制什么的能跟我說一下嘛 我下載了還在研究 剛剛學(xué)不懂
作者: dididi1313    時間: 2019-6-10 18:36
樓主在嗎 學(xué)習(xí)下
作者: 我累個去啊啊啊    時間: 2019-6-11 08:44
dididi1313 發(fā)表于 2019-6-10 18:00
你好 你發(fā)的那個程序 是控制什么的能跟我說一下嘛 我下載了還在研究 剛剛學(xué)不懂

控制led 蜂鳴器 當(dāng)沒有指令時 就是一個時鐘,持續(xù)向串口發(fā)送時分秒
作者: dididi1313    時間: 2019-6-11 10:21
我累個去啊啊啊 發(fā)表于 2019-6-11 08:44
控制led 蜂鳴器 當(dāng)沒有指令時 就是一個時鐘,持續(xù)向串口發(fā)送時分秒

我想問一下哪個是串口的程序 有什么用 我還沒學(xué)過這個
作者: 我累個去啊啊啊    時間: 2019-6-11 17:04
dididi1313 發(fā)表于 2019-6-11 10:21
我想問一下哪個是串口的程序 有什么用 我還沒學(xué)過這個

USART.c    USART.h 就是串口程序
作者: dididi1313    時間: 2019-6-11 17:12
串口那個助手輸入 然后不能輸出啊
作者: dididi1313    時間: 2019-6-11 20:02
我研究了一下午 然后現(xiàn)在能運(yùn)行了 但是按鈕怎么改也調(diào)不了時間 蜂鳴器 燈也不亮
作者: 我累個去啊啊啊    時間: 2019-6-12 16:09
dididi1313 發(fā)表于 2019-6-11 20:02
我研究了一下午 然后現(xiàn)在能運(yùn)行了 但是按鈕怎么改也調(diào)不了時間 蜂鳴器 燈也不亮

已私信
作者: 孤夜之舞    時間: 2019-6-12 22:38
小白想問一下STM32用什么編程軟件比較好,KEIL4好像不可以用32
作者: jhv    時間: 2019-6-13 09:45
樓主,我的開發(fā)板是STM32f407的,下載后編譯沒有問題,但串口輸入沒顯示
作者: 我累個去啊啊啊    時間: 2019-6-16 20:05
孤夜之舞 發(fā)表于 2019-6-12 22:38
小白想問一下STM32用什么編程軟件比較好,KEIL4好像不可以用32

同小白~  我用的keil5 沒用KEIL4 不知是不是你的魔法棒是否設(shè)置有問題  一般Keil5都可以向下兼容的
作者: 我累個去啊啊啊    時間: 2019-6-16 20:08
jhv 發(fā)表于 2019-6-13 09:45
樓主,我的開發(fā)板是STM32f407的,下載后編譯沒有問題,但串口輸入沒顯示

協(xié)議一致嗎?   是否IO口配置有問題
作者: 69800204    時間: 2019-6-19 13:45
好資料 學(xué)習(xí)中
作者: nadella    時間: 2019-9-28 11:04
不錯  謝謝樓主
作者: jiushiguang    時間: 2019-12-13 13:26
我的也是戰(zhàn)艦v3的板子確實(shí)能用,最近也在學(xué)串口,非常感謝樓主的程序
作者: confirm    時間: 2020-5-28 19:24
感謝樓主分享!很好的資源
作者: 云漫長空雪漫亭    時間: 2020-11-9 08:42
孤夜之舞 發(fā)表于 2019-6-12 22:38
小白想問一下STM32用什么編程軟件比較好,KEIL4好像不可以用32

我用的Keil uVision5




歡迎光臨 (http://www.denmoz.com/bbs/) Powered by Discuz! X3.1