協議:1位起始位,8位資料位,1位停止位;
fpga的串列埠接收設計,由於:在串列埠傳輸8bit資料時需要10bit 才可以,在接收bit位時,將8bit資料接收完成後,還有1bit 的停止位,如果在接收時嚴格的等待結束位完成之後再去檢測起始位的下降沿,或者是檢測起始位的開始位,在這種情況下:如果傳送端的時鐘,或波特率有誤差,會導致資料接收出現問題,原因在於由於波特率存在誤差,每bit資料都會有誤差,當10bit全部傳輸完成時,由於誤差的不斷積累,可能會錯過起始位的檢測(如果檢測起始位的下降沿容錯率更低)或者導致資料的bit 位接收錯位,導致資料接收誤碼。
2.解決辦法:
在 資料的第8bit位接收結束之後,可以檢測幾個時鐘的結束位,然後去檢測起始位。這樣可以有效的減少接收誤碼的可能性。
FPGA實現資料的串列埠接收
module uart rx input clk 50m,input rst n,input data in,output reg 7 0 rx data,output reg rx done localparam clk frequency 50 000 000,baud rate 9600,bp...
ffmpeg r引數不準確
ffmpeg r 30,那麼一秒鐘發出的rtmp msg包應該為30個左右。但實際上,2017 02 23 13 48 36 debug 5325 5325 16 rtmp recv video 9 csid 4 timestamp 56200 mlen 2773 msid 1 nbufs 22 2...
UITextView frame計算不準確
uitextview在上下左右分別有乙個8px的padding 需要將uitextview.contentsize.width減去16畫素 左右的padding 2 x 8px 同時返回的高度中再加上16畫素 上下的padding 這樣得到的才是uitextview真正適應內容的高度。width 是...