嵌入式與韌體

UART的傳送端與接收端的鮑率若有些許偏差,可能會出現亂碼。偏差的容許範圍只限於大約數%左右,其原因下列何者正確?

  1. A接收端以起始位元對準後,用自己的時脈在各位元的中央讀取,偏差會在一個字元期間內累積,到最後一個位元超過半個位元就會出錯
  2. B鮑率一有偏差,傳送端的電壓就會下降
  3. CUART會自動修正偏差,所以實際上沒有容許範圍
查看答案與解析

正確答案:A. 接收端以起始位元對準後,用自己的時脈在各位元的中央讀取,偏差會在一個字元期間內累積,到最後一個位元超過半個位元就會出錯

接收端在起始位元的起點對準時序,之後以自己的鮑率計數,在各位元的中央讀取數值。若速度有偏差,讀取時序的偏移會逐位元累積,約10位元之後的停止位元若偏移達半個位元以上,就會讀到相鄰的位元。因此雙方合計的誤差必須抑制在數%以內,使用時脈精度較低的內建振盪器時需要注意。

  • A. 正確。約10位元期間內偏移超過半個位元就會出錯。
  • B. 與電壓無關。
  • C. 一般的UART不會在字元中途修正偏差。
練習這個領域 前往領域頁面

嵌入式與韌體的其他題目

  1. 關於SPI通訊的特徵,下列何者正確?
  2. SPI一般使用的4條訊號的組合,下列何者正確?
  3. 連接SPI元件卻無法讀到正確的資料時,應確認的設定下列何者最為適當?
  4. 關於I2C通訊的特徵,下列何者正確?
  5. 在I2C中,收到1位元組資料的一方通知已收到的方法,下列何者正確?

這個領域的比較