官术网_书友最值得收藏!

作者序

本書(shū)有部分內(nèi)容最初發(fā)布于個(gè)人微信公眾號(hào)“電子制作站”(dzzzzcn),并得到廣大電子技術(shù)愛(ài)好者及行業(yè)工程師的一致好評(píng),甚至在網(wǎng)絡(luò)上被大量轉(zhuǎn)載??紤]到讀者對(duì)USB應(yīng)用開(kāi)發(fā)知識(shí)的強(qiáng)烈訴求,決定將相關(guān)文章整合成圖書(shū)出版,書(shū)中每章幾乎都有一個(gè)鮮明的主題。本書(shū)在收錄已發(fā)布文章的同時(shí),也進(jìn)行了細(xì)節(jié)更正及內(nèi)容擴(kuò)充。當(dāng)然,更多的內(nèi)容是最新撰寫(xiě)的,它們對(duì)讀者全面理解USB規(guī)范及系統(tǒng)開(kāi)發(fā)有著非常實(shí)用的價(jià)值。

如今,USB接口幾乎成為大多數(shù)個(gè)人計(jì)算機(jī)與智能手機(jī)的標(biāo)配,越來(lái)越多的電子產(chǎn)品也都傾向于使用USB接口,原因自然無(wú)外乎是其易用性。然而,USB易用性的代價(jià)就是協(xié)議的復(fù)雜性,相關(guān)系統(tǒng)的開(kāi)發(fā)過(guò)程也有著更高的門(mén)檻。市面上雖然有一些USB開(kāi)發(fā)相關(guān)的圖書(shū),但大多數(shù)主要還是對(duì)USB規(guī)范的機(jī)械翻譯與源代碼復(fù)制,并沒(méi)有在“如何更形象、更系統(tǒng)地闡述USB規(guī)范”方面下功夫,很難給實(shí)際的項(xiàng)目開(kāi)發(fā)帶來(lái)較大的指導(dǎo)意義。

本書(shū)打破常規(guī)圖書(shū)“先大篇幅介紹USB規(guī)范,再討論USB設(shè)備開(kāi)發(fā)”的撰寫(xiě)思路,先通過(guò)體驗(yàn)簡(jiǎn)單游戲操縱桿實(shí)例再切入比較頂層的USB規(guī)范,避免一次性引出過(guò)多術(shù)語(yǔ)而打擊讀者的學(xué)習(xí)積極性,隨后在功能逐步完善的過(guò)程中幫助讀者快速建立起對(duì)USB設(shè)備開(kāi)發(fā)的感性認(rèn)識(shí)。當(dāng)具備了足夠的經(jīng)驗(yàn)后,再引導(dǎo)讀者重新從底層總線電平標(biāo)準(zhǔn)往上經(jīng)令牌、事務(wù)、傳輸、請(qǐng)求與頂層應(yīng)用“碰撞”,使讀者不僅能夠清晰地認(rèn)識(shí)“USB數(shù)據(jù)在傳輸過(guò)程中的每個(gè)層面都干了些什么”,而且有能力進(jìn)行USB設(shè)備固件的核心編程,真正做到“知其然更知其所以然”。在整個(gè)闡述過(guò)程中,本書(shū)將USB規(guī)范穿插在實(shí)例中進(jìn)行對(duì)照講解,使讀者能夠輕松地理解USB規(guī)范是如何反映在硬件控制器與源代碼中的,讓USB規(guī)范不再那么抽象;同時(shí),結(jié)合面試、超市運(yùn)營(yíng)、工廠制造、籃球項(xiàng)目、下棋等生活場(chǎng)景,讓USB規(guī)范的學(xué)習(xí)過(guò)程變得不再枯燥,也許還會(huì)發(fā)現(xiàn)USB規(guī)范其實(shí)并沒(méi)有想象中的那么復(fù)雜。

為了讓讀者能夠真正將USB開(kāi)發(fā)思想靈活運(yùn)用在項(xiàng)目開(kāi)發(fā)中,本書(shū)不僅結(jié)合USB規(guī)范對(duì)固件庫(kù)進(jìn)行了完整剖析,而且嘗試使用多種不同方案實(shí)現(xiàn)相同的功能,讓讀者深刻理解不同開(kāi)發(fā)方案的優(yōu)缺點(diǎn)。本書(shū)涉及的基礎(chǔ)例程雖然只有一個(gè),但是在闡述不同的開(kāi)發(fā)方案過(guò)程中引出了很多例程,讓讀者輕松開(kāi)發(fā)鼠標(biāo)、鍵盤(pán)、復(fù)合、自定義HID、非標(biāo)準(zhǔn)、大容量存儲(chǔ)、虛擬串口、聲卡等USB設(shè)備,一方面可以避免過(guò)多毫無(wú)關(guān)聯(lián)的例程堆砌而使得全書(shū)內(nèi)容過(guò)于松散;另一方面能夠從逐步完善的過(guò)程中循序漸進(jìn)地深入U(xiǎn)SB規(guī)范,對(duì)USB規(guī)范的透徹理解,以及掌握USB設(shè)備固件與應(yīng)用程序開(kāi)發(fā)有著積極的意義。

需要特別指出的是,本書(shū)雖然使用STM32單片機(jī)作為開(kāi)發(fā)平臺(tái),但是讀者無(wú)須對(duì)其有任何開(kāi)發(fā)經(jīng)驗(yàn),因?yàn)槌鼼PIO與USB控制器模塊外,其他無(wú)關(guān)的模塊均未涉及。本書(shū)主要著重于闡述USB規(guī)范及USB系統(tǒng)開(kāi)發(fā)的思想,這對(duì)于所有平臺(tái)都是通用的,也是本書(shū)撰寫(xiě)的初衷:盡最大限度削弱對(duì)平臺(tái)的依賴性。換句話說(shuō),即使讀者以前從來(lái)沒(méi)有接觸過(guò)STM32單片機(jī)開(kāi)發(fā),或者使用的開(kāi)發(fā)平臺(tái)與本書(shū)完全不一樣,也絲毫不妨礙讀者理解USB設(shè)備的開(kāi)發(fā)過(guò)程,只要讀者需要進(jìn)行USB設(shè)備及主機(jī)應(yīng)用程序的開(kāi)發(fā),本書(shū)所闡述的USB開(kāi)發(fā)思想就非常有實(shí)用價(jià)值。

由于本人水平有限,錯(cuò)漏之處在所難免,懇請(qǐng)讀者批評(píng)與指正。

主站蜘蛛池模板: 新乐市| 鸡东县| 青海省| 栖霞市| 南平市| 东明县| 始兴县| 额尔古纳市| 洪洞县| 淄博市| 乌苏市| 阿巴嘎旗| 芒康县| 胶南市| 凌云县| 奉贤区| 铜梁县| 上思县| 武强县| 黄骅市| 古交市| 无锡市| 沙田区| 诸暨市| 辽宁省| 花莲市| 普格县| 贺州市| 靖远县| 苍南县| 尖扎县| 仪陇县| 册亨县| 惠州市| 紫云| 光泽县| 乐至县| 望谟县| 安庆市| 尼玛县| 恩施市|