<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 整理單片機(jī)串口小招數(shù)

          整理單片機(jī)串口小招數(shù)

          作者: 時間:2018-07-30 來源:網(wǎng)絡(luò) 收藏

          招一:把函數(shù)發(fā)生器當(dāng)發(fā)送器來用

          本文引用地址:http://www.ex-cimer.com/article/201807/384441.htm

          如果要調(diào)試,而你只有一塊扳沒有計(jì)算機(jī),這種情況下,可以用函數(shù)發(fā)生器當(dāng)發(fā)送器來用。若波特率是9600,需將函數(shù)發(fā)生器頻率調(diào)到9600/2=4800HZ上,輸出的TTL電平直接到RXD;如果使用的是RS232接口,頻率不變的話就選函數(shù)雙極性(交流輸出)發(fā)生器。在這里提醒一下,電平有峰峰值到12VPP就夠了。此時收到數(shù)據(jù)必須是55H,可以用MOV P1、SBUF、在P1上測量電壓,沒顯示也可以測串口了。

          理由:55H 是01010101 串口啟始位是0,先發(fā)55H最低位,于是一幀就是0(啟始)101010101(停止)-0(啟始)101010101(停止),正好是1/2波特率的方波。

          招二:如果串口要實(shí)現(xiàn)遠(yuǎn)距離傳輸,怎么知道傳輸?shù)目煽啃院托盘柵c傳輸媒介的適配性呢?

          可以發(fā)送00H 0FFH 55H,如果這三個值都能正確接受,那網(wǎng)絡(luò)一定能可靠傳輸了,這就是以點(diǎn)代面的測試方法。

          理由:00H 0FFH是最寬的脈沖和電平(代表能量)最大/最小的脈沖,用信號系統(tǒng)話說他們代表是直流,而55H是最窄脈沖,它代表是最高頻和能量中間值。既然最低的能過,最大也能過,最寬能過最窄也能過,大能量(抗干擾強(qiáng))低能量(代表抗干擾弱)中能量也能過,那么完全不用擔(dān)心中間值過不了。

          招三:用同步頭初始實(shí)現(xiàn)波特率自適應(yīng)和判斷數(shù)據(jù)包起始

          同步頭用誰?——7FH,且開始同步時連續(xù)發(fā)送???FH的發(fā)送0起始11111110---1停止。011111110是相當(dāng)對稱的,當(dāng)你收到兩個0中間夾了連續(xù)個1的數(shù)據(jù)后,只要用連續(xù)1的時間除以0的持續(xù)時間=7,說明這就是同步頭了,且一個標(biāo)準(zhǔn)碼元持續(xù)時間就是碼元0的持續(xù)時間,其波特率=1/(0碼元持續(xù)時間)。

          舉一個管窺的例子,如下:

          有一個長度達(dá)16位的計(jì)數(shù)器(長管)只有一個輸出例如最高位Q15(在管子末端去窺),現(xiàn)在根據(jù)Q15的狀態(tài)1/0能窺探到什么?

          (1)當(dāng)Q15=1時,說明管子里至少有32768個以上的豹紋(進(jìn)管子的脈沖)。

          (2)Q15=0時,管子里至多有32767豹紋。

          (3)如果把管子里的1稱著豹紋明花,0為暗花的話,當(dāng)Q15無論從1到0還是0到1的跳變,管子里一定都只有暗花了(Q14及以下全部復(fù)位了)。

          (4)知道了這個原理就可以用串聯(lián)(記數(shù)/或者叫推移)方法來讀取前Q0到Q14位,例如當(dāng)前Q15=1,只送一個脈沖進(jìn)去了Q15就=0了(1-0跳變),說明管子里有65535個豹紋沒推出!這種情況最多推移32768次一定能將Q15推移為0,而且此時Q0到Q15就全部復(fù)位了(這叫計(jì)數(shù)復(fù)位)。

          (5)當(dāng)Q15=0時請自行分析,唯一要說明的是,當(dāng)Q15有0到1跳變后是Q0到Q14的復(fù)位,有沒有必要再推32768次把整個管子推來復(fù)位呢,沒必要的,32768就是做起始基數(shù)。

          不采用管窺,要讀完這16位的數(shù)據(jù)需要16根口線,現(xiàn)在呢只需要2根,而可靠性會大大提高。損失的唯一是速度,因?yàn)椴⑿凶x取要比這里的串行讀取快,這樣做非常值得。

          再舉一個例子,散熱器的選?。?/p>

          一般來說,穩(wěn)壓器和功率驅(qū)動器都是很熱的設(shè)備,在弱電(強(qiáng)電請別對號入坐)領(lǐng)域,系統(tǒng)散熱做的怎么樣?是否安全?可以用加電開始時功率芯片上溫度上升的速率來判斷系統(tǒng)的熱安全性。

          (1)如果手摸著管子,溫度上升很慢,是緩升,即在全功率(極限)常溫25度下摸一分種都不燙手,就用對管子本身做高溫實(shí)驗(yàn)了,這個管子就是在70度高溫環(huán)境下都能正常工作,可以放心,熱量會隨著溫度升高散熱加快最終會恒定下來。

          (2)如果摸著瞬間變得很熱就取下來,是一定不行的。因?yàn)樗a(chǎn)生大量的熱,即使到了管子的高溫極限,它自身高散熱性能也抵消不了積熱,必然被燒毀。幾秒鐘的觸摸就可以判斷了,并不需要做漫長的高溫實(shí)驗(yàn),所以說對任何狀況的洞悉能力很重要。

          本文轉(zhuǎn)自網(wǎng)絡(luò)

          深圳市菲利盟電子技術(shù)有限公司



          關(guān)鍵詞: 單片機(jī) 串口

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();