[導讀]在數(shù)字電路里,只有“0”和“1”的范疇,再復雜的邏輯都是通過0和1的不同組合來實現(xiàn)的??删幊唐骷某绦蚓帉懞軓碗s,比如路由器、網(wǎng)關(guān)等與協(xié)議轉(zhuǎn)換相關(guān)的產(chǎn)品,其程序動輒十幾萬行,甚至上百萬行。 那這么多程序是怎么編出來的?有什么依據(jù)?
在數(shù)字電路里,只有“0”和“1”的范疇,再復雜的邏輯都是通過0和1的不同組合來實現(xiàn)的。
可編程器件的程序編寫很復雜,比如路由器、網(wǎng)關(guān)等與協(xié)議轉(zhuǎn)換相關(guān)的產(chǎn)品,其程序動輒十幾萬行,甚至上百萬行。
依據(jù)當然是有的,任何一個協(xié)議都是有協(xié)議范本的,協(xié)議范本里邊都是通過時序圖來闡明數(shù)據(jù)變化的,程序都是根據(jù)時序圖來編寫的。時序圖縱使再復雜,萬變不離其宗,講到底還是0和1的不同組合。
上圖中闡述了,高電平、低電平、電平變化、有效數(shù)據(jù)等定義。下面通過IIC幾個簡單的時序來認識一下。
IIC在發(fā)送數(shù)據(jù)時,要先發(fā)送起始信號,起始信號如何表示呢?因為IIC是有上拉電阻的,所以沒有數(shù)據(jù)變化時,都默認高電平。通過時序圖可以看出SCL在高電平期間,SDA出現(xiàn)下降沿即可模擬起始信號。程序如下:
如果要模擬停止信號,根據(jù)時序圖只需要在SCL高電平期間,讓SDA出現(xiàn)上升沿即可,程序如下:
下面這篇文章分析74HC595的時序圖,請點擊標題查看。
74HC595驅(qū)動數(shù)碼管(點擊跳轉(zhuǎn))
關(guān)注微信公眾號『玩轉(zhuǎn)嵌入式』,后臺回復“128”獲取干貨資料匯總,回復“256”加入技術(shù)交流群。
免責聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!
本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。