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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2659|回復: 7
收起左側

單片機波特率設置的9600,但只有在串口波特率配置4800時才能收到數據

[復制鏈接]
ID:986652 發表于 2021-12-2 10:57 | 顯示全部樓層 |閱讀模式
波特率設置的9600,但只有在串口波特率配置4800時才能收到數據,不知道為什么,附源代碼,我單片機用的是STC15W4K56S4
void UART_init(void)
{                  
        // 下面代碼設置定時器2
        T2H  = 0xFD;        // 波特率:9600
        T2L  = 0xC0;        // 波特率:9600
        AUXR = 0x15;    // 0001 0101,T2R=1啟動T2運行,T2x12=1,定時器2按1T計數,S1ST2=1
        // 下面代碼設置定串口1
        SCON = 0x50;         // 0101 0000 SM0.SM1=01(最普遍的8位通信),REN=1(允許接收)
        // 下面代碼設置中斷
        ES   = 1;                // 開串口1中斷
        EA   = 1;                // 開總中斷
}


回復

使用道具 舉報

ID:624769 發表于 2021-12-2 13:14 | 顯示全部樓層
波特率不是獨立存在的,牽涉的時鐘頻率, 你用11.0592的時鐘,波特率自然只有4800了……
回復

使用道具 舉報

ID:986652 發表于 2021-12-2 13:23 | 顯示全部樓層
188610329 發表于 2021-12-2 13:14
波特率不是獨立存在的,牽涉的時鐘頻率, 你用11.0592的時鐘,波特率自然只有4800了……

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

使用道具 舉報

ID:624769 發表于 2021-12-2 13:52 | 顯示全部樓層
如果,你的晶振頻率 是: 11.0592  你要 9600 波特率
則:
        T2L = 0xE0;                //設置定時初始值
        T2H = 0xFE;                //設置定時初始值

回復

使用道具 舉報

ID:734017 發表于 2021-12-2 13:55 | 顯示全部樓層
791310 發表于 2021-12-2 13:23
謝謝回復,我想請問這個是怎么計算的呢,我不知道我算的對不對,我把T2H改成0XFA波特率也不對,也不是960 ...

51hei截圖_20211202135306.png 系統頻率是分頻后的時鐘。

回復

使用道具 舉報

ID:986652 發表于 2021-12-2 14:03 | 顯示全部樓層
happy2058 發表于 2021-12-2 13:55
系統頻率是分頻后的時鐘。

明白了,真的是太感謝了!
回復

使用道具 舉報

ID:991930 發表于 2021-12-13 21:23 | 顯示全部樓層
stc-isp里有波特率計算器,輸入單片機型號,波特率什么的就可以自動生成代碼
回復

使用道具 舉報

ID:397211 發表于 2021-12-13 22:06 | 顯示全部樓層
有一個綠色軟件叫單片機小精靈,波特率啊延時啊定時器啊什么的都可以計算到
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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