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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

串口通訊 問題,請教高手。。

查看數: 2570 | 評論數: 9 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2018-11-9 16:17

正文摘要:

用的普中科技C51 單片機開發板。 現在想實現AD轉換,我有一個直線電位計,單片機通過AD轉換將電位計的數值顯示在動態數碼管上,同時增加一個串口,從串口助手上發送1,單片機將當前直線電位計的數值返回串口助手, ...

回復

ID:423648 發表于 2018-11-14 16:00
15942379927 發表于 2018-11-13 15:38
你可以試一試用八位的碼去驗證 比如說0x0a 是1  0x0b是2  。。。。。無非就是在case那里改一下

你的意思 就是  我 把receiveData=='1'  這里的1  改成0x0a嗎?這樣可以,但是并沒有解決返回值是亂碼的問題。。 現在問題的原因找到了,就是Read_AD_Data(0xE4)返回的是數字,而串口傳過去的是字符串,所以就是亂碼了。但是我不知道怎么寫。。

我嘗試用數組把數字摘出來 ,一個一個傳

void Usart() interrupt 4
{
        u8 receiveData;
        u8 str[4];
        u8 i;
        u8 j;
       
        if(RI == 1)
        {
                RI = 0;//清除接收中斷標志位
                receiveData=SBUF;//儲存接收到的數據         

                for(j=1;j<5;j++)
                {
                        if(receiveData=='1')
                        {
                                i=Read_AD_Data(0xE4);
                                str[1]=i/1000+48;
                                str[2]=i%1000/100+48;
                                str[3]=i%1000%100/10+48;
                                str[4]=i%1000%100%10+48;       
                                SBUF=str[j];       
                        }
                        else
                        {
                                SBUF=receiveData;
                        }
                }
        }
        while(!TI);                         //等待發送數據完成
        TI=0;                                                 //清除發送完成標志位
}


但是這樣也不對。。。
ID:423648 發表于 2018-11-14 15:55
guangshi_wq 發表于 2018-11-13 14:42
SBUF=Read_AD_Data(0xE4);        
沒有看見你的子涵數。不知道怎么調用啊。

Read_AD_Data(0xE4)  這個里面就是0-4095,一共4096個數,是我采直線電位計的返回值。。。現在確定就是中斷這塊的問題,而且是 Read_AD_Data(0xE4)  里面的數字和字符串之間的矛盾,如果我把 Read_AD_Data(0xE4)  改成48,那么串口助手上的返回值就是0。。。。但是現在關鍵是 不知道這里怎么處理。
ID:331575 發表于 2018-11-13 15:38
你可以試一試用八位的碼去驗證 比如說0x0a 是1  0x0b是2  。。。。。無非就是在case那里改一下
ID:331575 發表于 2018-11-13 15:32
1貌似跟停止位重復了 ,串口分不清楚到底是數據位還是停止位  我的分析
ID:375003 發表于 2018-11-13 14:42
SBUF=Read_AD_Data(0xE4);        
沒有看見你的子涵數。不知道怎么調用啊。
ID:423648 發表于 2018-11-13 11:22
為什么沒人來,能不能把這個貼子轉到問答區啊
ID:423648 發表于 2018-11-12 09:15
沒人嗎?呃

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表