找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 6699|回復(fù): 11
打印 上一主題 下一主題
收起左側(cè)

UART通信問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:65149 發(fā)表于 2014-8-17 12:00 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
通過串口調(diào)試助手以十六進(jìn)制發(fā)送和接受數(shù)據(jù),按原數(shù)據(jù)返回。但接受的數(shù)據(jù)和發(fā)送的數(shù)據(jù)不一致,不知道是哪里出問題了,幫忙看下。謝謝!
代碼截圖如下:
#include<reg52.h>
void ConfigUART(unsigned int baud);

void main()
{
        ConfigUART(9600);

        while(1)
        {
                while(!RI);
                RI = 0;
                SBUF = SBUF ;
                while(!TI);
                TI = 0;               
        }
}

void ConfigUART(unsigned int baud)
{
        SCON = 0x50;
        TMOD &= 0X0F;
        TMOD |= 0x20;
        TH1 = 256 - (11059200/12/32)/baud;
        TL1 = TH1;
        ET1 = 0;
        TR1 = 1;
}




分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:2318 發(fā)表于 2014-8-17 16:06 來自手機(jī) | 只看該作者
會(huì)不會(huì)是晶體震蕩器用錯(cuò)了

評(píng)分

參與人數(shù) 1威望 +5 收起 理由
shenyoutx + 5 很給力!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

板凳
ID:44262 發(fā)表于 2014-8-21 22:25 來自手機(jī) | 只看該作者
程序是吧發(fā)送過來的數(shù)據(jù)立即返回去是吧?
回復(fù)

使用道具 舉報(bào)

地板
ID:19715 發(fā)表于 2014-8-21 23:42 | 只看該作者
不能都用 SBUF = SBUF ;
必須分開寫
串口輸入用:
存放的變量 = SBUF ;
輸出用:
SBUF = 輸出數(shù)據(jù)地址 ;

評(píng)分

參與人數(shù) 1威望 +15 黑幣 +15 收起 理由
admin + 15 + 15

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

5#
ID:26188 發(fā)表于 2014-8-22 00:24 來自手機(jī) | 只看該作者
明白 發(fā)表于 2014-8-21 23:42
不能都用 SBUF = SBUF ;
必須分開寫
串口輸入用:

果然是高手啊
回復(fù)

使用道具 舉報(bào)

6#
ID:65149 發(fā)表于 2014-8-23 00:03 | 只看該作者
hkccd 發(fā)表于 2014-8-17 16:06
會(huì)不會(huì)是晶體震蕩器用錯(cuò)了

晶振沒有錯(cuò)的
回復(fù)

使用道具 舉報(bào)

7#
ID:65149 發(fā)表于 2014-8-23 00:28 | 只看該作者
明白 發(fā)表于 2014-8-21 23:42
不能都用 SBUF = SBUF ;
必須分開寫
串口輸入用:

分開使用效果是一樣的,還在研究是哪里處理問題,非常感謝你的幫助
回復(fù)

使用道具 舉報(bào)

8#
ID:26188 發(fā)表于 2014-8-23 02:07 來自手機(jī) | 只看該作者
一起研究
回復(fù)

使用道具 舉報(bào)

9#
ID:65149 發(fā)表于 2014-8-24 20:06 | 只看該作者
hkccd 發(fā)表于 2014-8-17 16:06
會(huì)不會(huì)是晶體震蕩器用錯(cuò)了

問題我找出來了,非常感謝你,確實(shí)是用錯(cuò)了,我板子上的晶振用的是12M的,這個(gè)晶振用9600誤差有點(diǎn)大,最好使用2400,謝謝你的幫助。

評(píng)分

參與人數(shù) 1威望 +15 黑幣 +15 收起 理由
admin + 15 + 15 很給力!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

10#
ID:26188 發(fā)表于 2014-8-24 20:53 來自手機(jī) | 只看該作者
就是  看程序怎么看也沒問題
回復(fù)

使用道具 舉報(bào)

11#
ID:90614 發(fā)表于 2015-9-20 16:59 | 只看該作者
shenyoutx 發(fā)表于 2014-8-24 20:06
問題我找出來了,非常感謝你,確實(shí)是用錯(cuò)了,我板子上的晶振用的是12M的,這個(gè)晶振用9600誤差有點(diǎn)大,最 ...

回復(fù)

使用道具 舉報(bào)

12#
ID:66396 發(fā)表于 2015-9-23 11:55 | 只看該作者
明白 發(fā)表于 2014-8-21 23:42
不能都用 SBUF = SBUF ;
必須分開寫
串口輸入用:

請(qǐng)問為什么?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表