发布网友
共8个回答
热心网友
没看过USB的通讯协议。
你贴的代码,UCC和MISC进行了位操作。UCC和MISC应该是用来控制硬件管脚。
Delay_3us()就是延迟3微秒。
UCC和MISC为什么要进行位运算,需要看硬件文档。硬件文档里面会写着,从硬件读取数据的时候,先要给UCC写上你要发送的data,然后对MISC的低3位清零,然后延迟3微秒(这段时间硬件完成设置动作),然后MISC低位置1,再延迟28微秒(这段时间硬件完成数据读取)。
UCC和MISC的操作需要看硬件开发手册,延时时间需要看硬件时序图。
想操作硬件,就要了解硬件的使用规则套路。建议不要先看USB这种复杂的设备,先看看LED/Wiegand/串口并口 这样的简单设备。等对硬件规则了解以后,再看USB。
热心网友
想把c语言学好,光谭浩强的远远不够的,那只是最简单的东西,我学习c语言两年了,学习c语言的关键是 指针的用法,还有结构体等等。c语言的作用是直接和硬件打交道,所以单片机编程,还有linux驱动编程用的是c语言,所以上面的代码其实c语言用的并不复杂,只是对硬件的直接操作,你需要把硬件的连接和芯片寄存器看明白,这段程序就很简单了,它是和硬件直接相对的,上面的代码仅仅是对一些寄存器的赋值。
热心网友
确实是位操作, |是按位或, &是按位与
国内的编程书籍全部都是用来应付中国人的各种考试用的,
如果想学好一门编程语言,只有看外文书籍或者外文书籍的译本,
这并不是看不起国内的书籍,而是事实却是如此,
学C语言的话,推荐C语言三剑客, c primer plus之类的书籍,
谭浩强的书也就适合90年代国人的入门编程教学而已,
早就应该淘汰在历史中了,其中错误,语法不规范,言辞不准确,知识不全面的地方成堆,
而且每次修订都没有具体的改变,说他只是为了骗钱完全没有亏说他的,
国内大学教材用它是因为教师们多年以前用习惯了,而且懒得改课件,导致了这种教材在国内遍地开花而却早已经过时的原因。
热心网友
这就是对flag寄存器回零操作,就是在每次通信准备前需要检查通讯地址,保证在正常状态,为下一场通信做好准备,还有设定时钟的延时时限。光有C语言远远不够,你必须懂硬件,先学学微机原理这本书,然后有理论基础后再学习其他更专业化的硬件知识。
热心网友
协议是与语言无关的,就算你会写C的编译器都没用。
USB协议 2.0规范几百页,选择性阅读。
如果设备硬件有USB模块就不需要额外的USB控制器了,它帮你实现了大部分协议。否则要重新设计包含USB接口芯片的电路,或者像AVRUSB那样自己模拟USB协议。
你要看对应设备的手册,手册会告诉你设备怎么使用,引脚的功能,USB模块怎么配置,每个寄存器有什么用,程序怎么写。
然后去找官方提供的USB库并学习官方例程然后移植到你的设备上 或者 自己写一套库。
热心网友
谭浩强那本书,只能算是数学中的加减法一样,其他的高级应用,开方平方都不涉及的,你只学了这本就去看USB的通讯协议,难度非常大的,建议先学学linux驱动开发,再来看USB的通讯协议。
热心网友
谭浩强是用来过2级的,学习使用的软件编程或者面向硬件的协议,请学习The+C+Programming+Language第二版中文版
[C.Primer.Plus第五版中文版][PDF]
这两本才是真正的c。
热心网友
你去贴吧里问
那里全是高手