free性丰满hd毛多多,久久综合给合久久狠狠狠97色69 ,欧美成人乱码一区二区三区,国产美女久久久亚洲综合,7777久久亚洲中文字幕

0
問(wèn)答首頁(yè) 最新問(wèn)題 熱門(mén)問(wèn)題 等待回答標(biāo)簽廣場(chǎng)
我要提問(wèn)

單片機(jī)

關(guān)于arm7與51單片機(jī)串行口通訊的問(wèn)題

單片機(jī)發(fā)送部分:

                        ADV1=123;

                        ADV2=456;

                        ADV3=789;

                        printf("@%05u\n",ADV1);        

                        while(TI0==0);

                        delay(100);        

                        printf("#%05u\n",ADV2);

                        while(TI0==0);

                        delay(100);

                        printf("$%05u\n",ADV3);

ARM接收部分:

if((U1IIR & 0x0F) == 0x04)                // 接收數(shù)據(jù)可用 RDA

        {

                RxSign=U1RBR;

                if(RxSign=='@')

                {

                        for(i=0; i<13; i++)

                        {

                                RxBuf1[i] = U1RBR;                // "讀取FIFO的數(shù)據(jù),并清除中斷        "

                        }

                }

                else if(RxSign=='#')

                {

                        for(i=0;i<13;i++)

                        {

                                RxBuf2[i] = U1RBR;        

                        }

                }

                else if(RxSign=='$')

                {

                        for(i=0;i<13;i++)

                        {

                                RxBuf3[i] = U1RBR;        

                        }

                }

        }

        else if((U1IIR & 0x0F) == 0x0C)                  //字符超時(shí)CTI 無(wú)中斷掛起

        {

                while((U1LSR&0x01)==1)                   //U1RBR包含有效數(shù)據(jù)  

                {

                        if(i==0)

                                RxSign=U1RBR;

                        if(RxSign=='@')

                                RxBuf1[i-1] = U1RBR;                // 讀取FIFO的數(shù)據(jù),并清除中斷        

                        else if(RxSign=='#')

                                RxBuf2[i-1] = U1RBR;

                        else if(RxSign=='$')

                                RxBuf3[i-1] = U1RBR;

                        i++;

                }

其中ARM  初始化U1FCR = 0xc1;                    觸發(fā)點(diǎn)位14個(gè)字符

為什么RxBuf1接受的是123

RxBuf2和RxBuf3接收到的不是456,789而是56496,7855

剛接觸串行通訊 網(wǎng)大神求解   

怎么才能使RxBuf2和RxBuf3能接收到正確數(shù)字?

先行謝謝各位

提問(wèn)者:khgsf 地點(diǎn):- 瀏覽次數(shù):320 提問(wèn)時(shí)間:10-22 11:35
我有更好的答案
提 交
2條回答
abc1763613206 10-05 02:30
這樣看也看不出什么,不過(guò)你可以試試把 一組一組單獨(dú)試試接收的情況在分析,
還有就是你每次接受的數(shù)據(jù)都是56496,7855?
你這里只用了一個(gè)幀頭判定,不一定很準(zhǔn)確,你可以參考下面的鏈接看看。
http://blog.csdn.net/gszhy/article/details/8594433
這里面對(duì)串口接收部分的處理方式還是很不錯(cuò)的,我之前就用過(guò)這種方法成功接收到我要的數(shù)據(jù)
60user63 10-06 04:36
用串口調(diào)試分別測(cè)試單片機(jī)與ARM看問(wèn)題出在那一個(gè)上面。
撰寫(xiě)答案
提 交
1 / 3
1 / 3
相關(guān)單片機(jī)
具有音調(diào)控制的單片機(jī)立體聲前置放大器
用于單片機(jī)與電子裝置中的開(kāi)關(guān)電源
單片機(jī)軟硬件復(fù)位的條件都有啥
電動(dòng)機(jī)的單片機(jī)控制
單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)實(shí)例導(dǎo)航