发布网友 发布时间:2022-04-23 08:43
共8个回答
热心网友 时间:2022-04-14 22:16
没看过USB的通讯协议。热心网友 时间:2022-04-14 23:34
想把c语言学好,光谭浩强的远远不够的,那只是最简单的东西,我学习c语言两年了,学习c语言的关键是 指针的用法,还有结构体等等。c语言的作用是直接和硬件打交道,所以单片机编程,还有linux驱动编程用的是c语言,所以上面的代码其实c语言用的并不复杂,只是对硬件的直接操作,你需要把硬件的连接和芯片寄存器看明白,这段程序就很简单了,它是和硬件直接相对的,上面的代码仅仅是对一些寄存器的赋值。热心网友 时间:2022-04-15 01:09
确实是位操作, |是按位或, &是按位与热心网友 时间:2022-04-15 03:00
这就是对flag寄存器回零操作,就是在每次通信准备前需要检查通讯地址,保证在正常状态,为下一场通信做好准备,还有设定时钟的延时时限。光有C语言远远不够,你必须懂硬件,先学学微机原理这本书,然后有理论基础后再学习其他更专业化的硬件知识。热心网友 时间:2022-04-15 05:08
协议是与语言无关的,就算你会写C的编译器都没用。
USB协议 2.0规范几百页,选择性阅读。
如果设备硬件有USB模块就不需要额外的USB控制器了,它帮你实现了大部分协议。否则要重新设计包含USB接口芯片的电路,或者像AVRUSB那样自己模拟USB协议。
你要看对应设备的手册,手册会告诉你设备怎么使用,引脚的功能,USB模块怎么配置,每个寄存器有什么用,程序怎么写。
然后去找官方提供的USB库并学习官方例程然后移植到你的设备上 或者 自己写一套库。
热心网友 时间:2022-04-15 07:33
谭浩强那本书,只能算是数学中的加减法一样,其他的高级应用,开方平方都不涉及的,你只学了这本就去看USB的通讯协议,难度非常大的,建议先学学linux驱动开发,再来看USB的通讯协议。热心网友 时间:2022-04-15 10:14
谭浩强是用来过2级的,学习使用的软件编程或者面向硬件的协议,请学习The+C+Programming+Language第二版中文版热心网友 时间:2022-04-15 13:12
你去贴吧里问