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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2524|回復(fù): 12
收起左側(cè)

做了一個單片機語音控制模塊有一個難點始終沒有攻破求解

[復(fù)制鏈接]
ID:467178 發(fā)表于 2022-9-8 19:49 | 顯示全部樓層 |閱讀模式
近期搞了一個傳感器模塊A和一個音樂模塊B,A傳感器串口輸出AA 55 01 02 03的數(shù)據(jù)一共有10組,模塊B一共有30個觸發(fā)串口地址為 55 03 11 01 02 ,55 03 11 02 02,55 04 01 03 02類似格式的數(shù)據(jù),比如單片機收到傳感器AA 55 01 02 03數(shù)據(jù)后,讓它TXd口輸出 55 03 11 01 02,然后再過1秒輸出 55 03 11 02 02到B模塊。意思就是收到X,發(fā)送Y延時1秒發(fā)送Z,怎么寫這部分代碼,我絞盡腦汁也沒弄好請求大神幫忙

單片機源程序如下:
//晶振為11.0592Mhz 波特率9600
#include "reg52.h"
#define uint unsigned int
sbit d=P1^5;
sbit a=P1^1;
uint x,y,z;
void delay(z); //聲明子函數(shù)
void UART_Init()
{
        SCON=0x50;
        PCON |=0X80;
        TMOD &=0x0f;
        TMOD |=0x20;
        TL1=0XFD;
        TH1=0XFD;
        TF1=0;
        TR1=1;
        ET1=0;
        EA=1;
        ES=1;

}
void main()
{
        UART_Init();        
        while(1)
        {


        }
}
void UART_SendByte(unsigned char Byte)
{
        SBUF=Byte;
        while(TI==0);
        TI=0;
  }
void UART_Routine() interrupt 4
{
        if(RI==1)
        {
                RI=0;
               
                UART_SendByte(SBUF);
        
        }
}

void delay(z)   
{
                for(x=z;x>0;x--)
                        for(y=114;y>0;y--);
                        
                        
}

回復(fù)

使用道具 舉報

ID:123289 發(fā)表于 2022-9-9 08:53 | 顯示全部樓層
1、開辟一個緩沖區(qū)域A,用于存入串入的數(shù)據(jù)。
2、串行通訊用中斷,中斷接收程序中只負(fù)責(zé)將接收到的數(shù)據(jù)存入A區(qū),滿一幀數(shù)據(jù)做個標(biāo)記S=1,不做判斷處理。
3、判斷識別在主程序的進行:
如果S=1(已收到一幀數(shù)據(jù)),就分析處理數(shù)據(jù),然后清除S。
如果S=0(沒有數(shù)據(jù)),就跳過。
回復(fù)

使用道具 舉報

ID:161164 發(fā)表于 2022-9-9 11:53 | 顯示全部樓層
Record_2022_09_09_11_46_51_908.gif
Capture_2022_09_09_11_49_12_124.png

2022-09-09_115206.png


Test.zip

1.1 KB, 下載次數(shù): 11

回復(fù)

使用道具 舉報

ID:467178 發(fā)表于 2022-9-12 14:18 | 顯示全部樓層
感謝總工程師呀,也感謝1樓的工程師太牛逼你們
回復(fù)

使用道具 舉報

ID:467178 發(fā)表于 2022-9-12 18:16 | 顯示全部樓層

哥們請問我在編譯的時候為什么出現(xiàn)錯誤了?(89C52)
51hei截圖20220912181256.jpg
回復(fù)

使用道具 舉報

ID:467178 發(fā)表于 2022-9-12 18:33 | 顯示全部樓層
yzwzfyz 發(fā)表于 2022-9-9 08:53
1、開辟一個緩沖區(qū)域A,用于存入串入的數(shù)據(jù)。
2、串行通訊用中斷,中斷接收程序中只負(fù)責(zé)將接收到的數(shù)據(jù)存 ...

感謝哥們,你的思路讓我有了方向
回復(fù)

使用道具 舉報

ID:467178 發(fā)表于 2022-9-12 18:36 | 顯示全部樓層

哥們我把你這個代碼原封不動的復(fù)制,編譯的時候出現(xiàn)了錯誤,是不是要聲明一下這個StartUp

有一行錯誤的地方無法編譯

有一行錯誤的地方無法編譯
回復(fù)

使用道具 舉報

ID:467178 發(fā)表于 2022-9-12 20:02 | 顯示全部樓層

你好哥們:我把你的代碼復(fù)制進去后進行編譯,出現(xiàn)了一條錯誤麻煩你看看
指向這段代碼 UART_Send_Array(StatrUp,sizeof(StartUp));
錯誤c202:’StatrUp‘:undefined identifier
是不是’StatrUp需要聲明?
回復(fù)

使用道具 舉報

ID:883242 發(fā)表于 2022-9-13 12:33 | 顯示全部樓層
zhhdok 發(fā)表于 2022-9-12 20:02
你好哥們:我把你的代碼復(fù)制進去后進行編譯,出現(xiàn)了一條錯誤麻煩你看看
指向這段代碼 UART_Send_Array(S ...

他的這個StartUp是要發(fā)送的字符串,后面跟的sizeof(StartUp)是字符串長度。

我不知道你是怎么用的,但是樓主位你的代碼里面是一個字節(jié)一個字節(jié)的發(fā)送,所以你把這部分注釋掉就行了。
回復(fù)

使用道具 舉報

ID:467178 發(fā)表于 2022-9-14 11:53 來自觸屏版 | 顯示全部樓層
Hephaestus 發(fā)表于 2022-9-13 12:33
他的這個StartUp是要發(fā)送的字符串,后面跟的sizeof(StartUp)是字符串長度。

我不知道你是怎么用的,但 ...

你好,我是想和他模擬的那個一樣的,接收到指定的后,然后發(fā)送指定的5位 16進制數(shù)據(jù),這個代碼編譯的時候就出錯在startup
我要怎么改?才能順利編譯
回復(fù)

使用道具 舉報

ID:161164 發(fā)表于 2022-10-17 09:09 | 顯示全部樓層
你沒有創(chuàng)建startup數(shù)組嗎?
回復(fù)

使用道具 舉報

ID:467178 發(fā)表于 2023-4-9 14:05 | 顯示全部樓層
lkc8210 發(fā)表于 2022-10-17 09:09
你沒有創(chuàng)建startup數(shù)組嗎?

弄好了過程很曲折
回復(fù)

使用道具 舉報

ID:291668 發(fā)表于 2023-4-9 15:08 | 顯示全部樓層
實現(xiàn)了功能就行。這個帖子很久了吧?
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产一区二区在线观看视频 | 国产无精乱码一区二区三区 | 天天干视频 | 日本中文字幕在线播放 | 五月天.com | 亚洲视频在线观看一区 | 国产精品一区视频 | 黄色一区二区三区 | 国产三级久久 | 成人欧美视频 | 福利视频网址导航 | 在线观看的av | 日韩中文字幕免费 | 看黄色大片| 国产小视频网站 | 九九热视频在线 | 伊人久久久久久久久久 | 国产日韩在线视频 | 日本中文字幕在线播放 | 国产成人在线播放 | 亚洲视频一区二区三区四区 | 国产又色又爽又黄又免费 | 精品久久久久久久久久久久久久久久 | 福利网站在线观看 | 久久精品99久久久久久 | 黄网免费看 | 特黄a级片| 午夜视频一区二区 | 一区二区三区国产视频 | 亚洲一区二区免费看 | 国产区在线 | 国产精品久久久久久中文字 | 久久噜噜| 久久人体视频 | 一区二区三区网站 | 99久久久精品 | 国产精品一区一区三区 | 日本国产欧美 | 中文天堂网 | 精品久久免费视频 | 精品福利在线观看 |