购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

作者序

本书有部分内容最初发布于个人微信公众号“电子制作站”(dzzzzcn),并得到广大电子技术爱好者及行业工程师的一致好评,甚至在网络上被大量转载。考虑到读者对USB应用开发知识的强烈诉求,决定将相关文章整合成图书出版,书中每章几乎都有一个鲜明的主题。本书在收录已发布文章的同时,也进行了细节更正及内容扩充。当然,更多的内容是最新撰写的,它们对读者全面理解USB规范及系统开发有着非常实用的价值。

如今,USB接口几乎成为大多数个人计算机与智能手机的标配,越来越多的电子产品也都倾向于使用USB接口,原因自然无外乎是其易用性。然而,USB易用性的代价就是协议的复杂性,相关系统的开发过程也有着更高的门槛。市面上虽然有一些USB开发相关的图书,但大多数主要还是对USB规范的机械翻译与源代码复制,并没有在“如何更形象、更系统地阐述USB规范”方面下功夫,很难给实际的项目开发带来较大的指导意义。

本书打破常规图书“先大篇幅介绍USB规范,再讨论USB设备开发”的撰写思路,先通过体验简单游戏操纵杆实例再切入比较顶层的USB规范,避免一次性引出过多术语而打击读者的学习积极性,随后在功能逐步完善的过程中帮助读者快速建立起对USB设备开发的感性认识。当具备了足够的经验后,再引导读者重新从底层总线电平标准往上经令牌、事务、传输、请求与顶层应用“碰撞”,使读者不仅能够清晰地认识“USB数据在传输过程中的每个层面都干了些什么”,而且有能力进行USB设备固件的核心编程,真正做到“知其然更知其所以然”。在整个阐述过程中,本书将USB规范穿插在实例中进行对照讲解,使读者能够轻松地理解USB规范是如何反映在硬件控制器与源代码中的,让USB规范不再那么抽象;同时,结合面试、超市运营、工厂制造、篮球项目、下棋等生活场景,让USB规范的学习过程变得不再枯燥,也许还会发现USB规范其实并没有想象中的那么复杂。

为了让读者能够真正将USB开发思想灵活运用在项目开发中,本书不仅结合USB规范对固件库进行了完整剖析,而且尝试使用多种不同方案实现相同的功能,让读者深刻理解不同开发方案的优缺点。本书涉及的基础例程虽然只有一个,但是在阐述不同的开发方案过程中引出了很多例程,让读者轻松开发鼠标、键盘、复合、自定义HID、非标准、大容量存储、虚拟串口、声卡等USB设备,一方面可以避免过多毫无关联的例程堆砌而使得全书内容过于松散;另一方面能够从逐步完善的过程中循序渐进地深入USB规范,对USB规范的透彻理解,以及掌握USB设备固件与应用程序开发有着积极的意义。

需要特别指出的是,本书虽然使用STM32单片机作为开发平台,但是读者无须对其有任何开发经验,因为除GPIO与USB控制器模块外,其他无关的模块均未涉及。本书主要着重于阐述USB规范及USB系统开发的思想,这对于所有平台都是通用的,也是本书撰写的初衷:尽最大限度削弱对平台的依赖性。换句话说,即使读者以前从来没有接触过STM32单片机开发,或者使用的开发平台与本书完全不一样,也丝毫不妨碍读者理解USB设备的开发过程,只要读者需要进行USB设备及主机应用程序的开发,本书所阐述的USB开发思想就非常有实用价值。

由于本人水平有限,错漏之处在所难免,恳请读者批评与指正。 mBaaOqSyciNXtGeT/Jjz8WGXkEWqNPgI9dol3XvV/atrcMmcuyC9Mv9S3AyeLndp

点击中间区域
呼出菜单
上一章
目录
下一章
×