欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: 51單片機(jī)串口數(shù)據(jù)接受問題 [打印本頁]

作者: 格式化無悔    時間: 2024-6-14 14:03
標(biāo)題: 51單片機(jī)串口數(shù)據(jù)接受問題
如何把數(shù)組接收到的10位字符的數(shù)據(jù),只處理第五位和第六位的數(shù)據(jù),其他不要

IMG_4985.jpeg (1.36 MB, 下載次數(shù): 23)

IMG_4985.jpeg

作者: wdgao    時間: 2024-6-14 14:58
接收到的數(shù)據(jù)放到緩沖數(shù)組里,要哪一位取哪一位即可。
作者: IdeaMing    時間: 2024-6-14 15:03
wdgao 發(fā)表于 2024-6-14 14:58
接收到的數(shù)據(jù)放到緩沖數(shù)組里,要哪一位取哪一位即可。

是的,前提是把數(shù)據(jù)準(zhǔn)確的收完,以免取錯位置。從你的數(shù)據(jù)來看是30 30 30 35 ,ascii就是0005
作者: lxh2002    時間: 2024-6-14 15:44
                sbufch[1] = sbufch[2];
                sbufch[2] = sbufch[3];
                sbufch[3] = sbufch[4];
                sbufch[4] = sbufch[5];
                sbufch[5] = sbufch[6];
                sbufch[6] = sbufch[7];
                sbufch[7] = sbufch[8];
                sbufch[8] = sbufch[9];
                sbufch[9] = SBUF;
               
                if(sbufch[1]==0XA0&&sbufch[2]==0X0A)                 //判斷是否為起始頭標(biāo)志
                {
                        if(sbufch[3]==0X00||sbufch[3]==sbufch[0])                 //判斷是否為起始頭標(biāo)志
                        {
                                COMMAND();
                        }
                }

這個是一串9個字節(jié)的接受判斷,0xa0  0x0a 這2個字節(jié)是數(shù)據(jù)頭,找到后執(zhí)行COMMAND子程序,想怎么做都可以
作者: STC莊偉    時間: 2024-6-14 17:15
四串口與電腦收發(fā)測試程序,觀方有講解 可以去看看


作者: 123156fsadf    時間: 2024-6-14 17:26
lxh2002 發(fā)表于 2024-6-14 15:44
sbufch[1] = sbufch[2];
                sbufch[2] = sbufch[3];
                sbufch[3] = sbufch[4];

這個寫法是否有些啰嗦了,在中斷里面運行這么長的代碼,應(yīng)該把判斷放到while循環(huán)中去,中斷里只進(jìn)行接收
作者: Y_G_G    時間: 2024-6-16 16:07
在中斷中只做接收,并存放在緩沖里,在主程序查找就可以
所謂第五個數(shù)據(jù),我不確定你這個數(shù)據(jù)是什么樣子的,是每次都是一樣的長度還是長度都不一樣的?
如果是長度都是一樣的,就在接收的時候存放在數(shù)組中,直接引用就可以了
作者: lxh2002    時間: 2024-6-16 21:59
Y_G_G 發(fā)表于 2024-6-16 16:07
在中斷中只做接收,并存放在緩沖里,在主程序查找就可以
所謂第五個數(shù)據(jù),我不確定你這個數(shù)據(jù)是什么樣子的,是 ...

有道理,我的思路應(yīng)該不太對,有時間找點資料學(xué)習(xí)一下,我一直都是自己瞎捉摸寫的
作者: zh_junwei    時間: 2024-6-21 12:04
這個數(shù)據(jù)有頭有尾的,每次接受完一包后,直接拿第5和6位就可以了,在接受完一包數(shù)后做個標(biāo)記,主程序判斷這個接收完成標(biāo)記就處理第五和六的數(shù),處理完成,這個標(biāo)記清除,同時在產(chǎn)生這個標(biāo)記直到處理數(shù)據(jù)完成前串口中斷里面是不能接受數(shù)據(jù)的。
作者: zwj598    時間: 2024-6-21 16:25
接受到的數(shù)據(jù)用數(shù)值用數(shù)組存起來,buf[n]=
作者: 白水大蝦2016    時間: 2024-6-24 11:28
有意思,學(xué)習(xí)了!




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