找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機(jī)波特率設(shè)置的9600,但只有在串口波特率配置4800時才能收到數(shù)據(jù)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:986652 發(fā)表于 2021-12-2 10:57 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
波特率設(shè)置的9600,但只有在串口波特率配置4800時才能收到數(shù)據(jù),不知道為什么,附源代碼,我單片機(jī)用的是STC15W4K56S4
void UART_init(void)
{                  
        // 下面代碼設(shè)置定時器2
        T2H  = 0xFD;        // 波特率:9600
        T2L  = 0xC0;        // 波特率:9600
        AUXR = 0x15;    // 0001 0101,T2R=1啟動T2運行,T2x12=1,定時器2按1T計數(shù),S1ST2=1
        // 下面代碼設(shè)置定串口1
        SCON = 0x50;         // 0101 0000 SM0.SM1=01(最普遍的8位通信),REN=1(允許接收)
        // 下面代碼設(shè)置中斷
        ES   = 1;                // 開串口1中斷
        EA   = 1;                // 開總中斷
}


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

使用道具 舉報

沙發(fā)
ID:624769 發(fā)表于 2021-12-2 13:14 | 只看該作者
波特率不是獨立存在的,牽涉的時鐘頻率, 你用11.0592的時鐘,波特率自然只有4800了……
回復(fù)

使用道具 舉報

板凳
ID:986652 發(fā)表于 2021-12-2 13:23 | 只看該作者
188610329 發(fā)表于 2021-12-2 13:14
波特率不是獨立存在的,牽涉的時鐘頻率, 你用11.0592的時鐘,波特率自然只有4800了……

謝謝回復(fù),我想請問這個是怎么計算的呢,我不知道我算的對不對,我把T2H改成0XFA波特率也不對,也不是9600,如果我想要9600的波特率該怎么做呢,盼望解答,非常感謝!
回復(fù)

使用道具 舉報

地板
ID:624769 發(fā)表于 2021-12-2 13:52 | 只看該作者
如果,你的晶振頻率 是: 11.0592  你要 9600 波特率
則:
        T2L = 0xE0;                //設(shè)置定時初始值
        T2H = 0xFE;                //設(shè)置定時初始值

回復(fù)

使用道具 舉報

5#
ID:734017 發(fā)表于 2021-12-2 13:55 | 只看該作者
791310 發(fā)表于 2021-12-2 13:23
謝謝回復(fù),我想請問這個是怎么計算的呢,我不知道我算的對不對,我把T2H改成0XFA波特率也不對,也不是960 ...

系統(tǒng)頻率是分頻后的時鐘。

回復(fù)

使用道具 舉報

6#
ID:986652 發(fā)表于 2021-12-2 14:03 | 只看該作者
happy2058 發(fā)表于 2021-12-2 13:55
系統(tǒng)頻率是分頻后的時鐘。

明白了,真的是太感謝了!
回復(fù)

使用道具 舉報

7#
ID:991930 發(fā)表于 2021-12-13 21:23 | 只看該作者
stc-isp里有波特率計算器,輸入單片機(jī)型號,波特率什么的就可以自動生成代碼
回復(fù)

使用道具 舉報

8#
ID:397211 發(fā)表于 2021-12-13 22:06 | 只看該作者
有一個綠色軟件叫單片機(jī)小精靈,波特率啊延時啊定時器啊什么的都可以計算到
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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