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

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

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3664|回復(fù): 4
收起左側(cè)

關(guān)于STC15單片機(jī)自動(dòng)波特率

[復(fù)制鏈接]
ID:910171 發(fā)表于 2021-4-26 18:52 | 顯示全部樓層 |閱讀模式
剛開(kāi)始學(xué)習(xí)C51單片機(jī),用STC進(jìn)行實(shí)驗(yàn),現(xiàn)在想用CH340C芯片和STC15W204S單片機(jī)diy一個(gè)免冷啟動(dòng)的自動(dòng)下載器。

擬用STC15W204S單片機(jī)檢測(cè)STC-ISP軟件點(diǎn)擊下載時(shí)候發(fā)出的0x7F串,檢測(cè)到足夠數(shù)量的0x7F后,單片機(jī)輸出控制信號(hào),用MOS管切斷下載器后面單片機(jī)的供電。

由于STC-ISP軟件是可以設(shè)置不同的最低波特率的,為了讓這個(gè)下載器能夠自適應(yīng)各種波特率設(shè)置值,到網(wǎng)上搜索了各種波特率自適應(yīng)方案的源碼,找到其中一段如下:
  1. void AutoUartBaud()                //這個(gè)是變化的串口參數(shù)
  2. {
  3.         ES=0;//關(guān)串口中斷
  4.         switch(RSjishu)
  5.         {
  6.                 case 0:
  7.             T2L = 0x00;                //設(shè)定定時(shí)初值//1200bps@22.1184MHz
  8.             T2H = 0xEE;                //設(shè)定定時(shí)初值
  9.            break;
  10.                 case 1:
  11.                         T2L = 0x00;                //設(shè)定定時(shí)初值//2400bps@22.1184MHz
  12.                         T2H = 0xF7;                //設(shè)定定時(shí)初值
  13.                  break;
  14.                 case 2:        
  15.                         T2L = 0x80;                //設(shè)定定時(shí)初值//4800bps@22.1184MHz
  16.                         T2H = 0xFB;                //設(shè)定定時(shí)初值
  17.                  break;
  18.                 case 3:        
  19.                         T2L = 0xC0;                //設(shè)定定時(shí)初值//9600bps@22.1184MHz
  20.                         T2H = 0xFD;                //設(shè)定定時(shí)初值
  21.                  break;        
  22.                 case 4:
  23.                   T2L = 0x80;                //設(shè)定定時(shí)初值//14400bps@22.1184MHz
  24.             T2H = 0xFE;                //設(shè)定定時(shí)初值
  25.                   break;
  26.     case 5:
  27.                         T2L = 0xE0;                //設(shè)定定時(shí)初值//19200bps@22.1184MHz
  28.                         T2H = 0xFE;                //設(shè)定定時(shí)初值
  29.                  break;
  30.                 case 6:        
  31.                   T2L = 0x40;                //設(shè)定定時(shí)初值//28800bps@22.1184MHz
  32.             T2H = 0xFF;                //設(shè)定定時(shí)初值
  33.                   break;
  34.                 case 7:        
  35.                         T2L = 0x70;                //設(shè)定定時(shí)初值//38400bps@22.1184MHz
  36.                         T2H = 0xFF;                //設(shè)定定時(shí)初值
  37.                  break;
  38.                 case 8:        
  39.                         T2L = 0xA0;                //設(shè)定定時(shí)初值//57600bps@22.1184MHz
  40.                         T2H = 0xFF;                //設(shè)定定時(shí)初值
  41.                  break;
  42.                 case 9:        
  43.                         T2L = 0xD0;                //設(shè)定定時(shí)初值//115200bps@22.1184MHz
  44.                         T2H = 0xFF;                //設(shè)定定時(shí)初值
  45.                 break;
  46. }
  47. RSjishu++;
  48. if(RSjishu>9)RSjishu=0;
  49. delay(20);
  50. ES=1;//開(kāi)中斷
  51. }
復(fù)制代碼
原程序作者說(shuō)這程序是采用每0.1S改變一下串口的波特率,然后檢查是否有7F的值,如有就停止改變波特率。我沒(méi)看懂它是怎么檢查有沒(méi)有7F值的,然后怎么停下來(lái)不再改變波特率的,莫非是通過(guò)這個(gè)RSjishu變量來(lái)間接實(shí)現(xiàn)的?
初學(xué)者,可能問(wèn)題比較菜,請(qǐng)各位老師賜教。這只是我摘取的一段程序,原程序功能比較多,我沒(méi)有摘全。


回復(fù)

使用道具 舉報(bào)

ID:584814 發(fā)表于 2021-4-28 11:21 | 顯示全部樓層
你是如何確定就在這個(gè)函數(shù)里的呢 ?
回復(fù)

使用道具 舉報(bào)

ID:910171 發(fā)表于 2021-4-28 11:34 | 顯示全部樓層
man1234567 發(fā)表于 2021-4-28 11:21
你是如何確定就在這個(gè)函數(shù)里的呢 ?

程序里面,別處都是按鍵處理、電壓測(cè)量、數(shù)碼管顯示等,除了串口初始化程序之外,就只有這一段是在改變T2定時(shí)器初值改變波特率了。
回復(fù)

使用道具 舉報(bào)

ID:390416 發(fā)表于 2021-4-28 12:49 | 顯示全部樓層
用不著這么麻煩 CH340 硬件就可以實(shí)現(xiàn)自動(dòng)下載 我發(fā)的貼子有圖紙 已經(jīng)1000多人使用了 很穩(wěn)定
回復(fù)

使用道具 舉報(bào)

ID:584814 發(fā)表于 2021-4-29 19:45 | 顯示全部樓層
Fireflying 發(fā)表于 2021-4-28 11:34
程序里面,別處都是按鍵處理、電壓測(cè)量、數(shù)碼管顯示等,除了串口初始化程序之外,就只有這一段是在改變T2 ...

從你貼出來(lái)的看,這個(gè)函數(shù)根據(jù) RSjishu (疑似RS計(jì)數(shù))來(lái)選擇定時(shí)器初值,這個(gè)值從 0 到 9 不斷循環(huán)。
但改變后的波特率是否合適的判斷沒(méi)有相關(guān)函數(shù)的影子,僅有這個(gè)函數(shù)就只能是玩具了。
至于還有說(shuō)有CH340不用麻煩的說(shuō)法就搞笑了,本壇上的鐘一個(gè)比一個(gè)丑不如某一個(gè)寶花更低的價(jià)錢(qián)買(mǎi)個(gè)更好看的而且都是量產(chǎn)穩(wěn)定好評(píng)過(guò)萬(wàn)連圖紙都不需要呵呵呵

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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