我在看CY例程的固件程序,其中fw.c写到有 if ((WORD)&DeviceDscr & 0xe000) 应该是取结构体DeviceDscr的地址与0xe000相与。我不太明白设备描述符DeviceDscr结构体是从RA...
全文
回复(10) 2004-04-28 09:45 来自版块 - USB驱动开发
表情
zj0127upstar说得有道理,谢谢upstar。(2004-04-29 16:27)
upstar上面这个IF语句的判断,不是说正好就在0xe000而是说地址大于0xe000。(2004-04-29 15:36)
zj0127感谢upstar,但好像没有说明白为什么自举前DeviceDscr的地址一定在0xe000。(2004-04-29 14:53)
upstar用SUDPTRH:L指向描速表首地址的时候,设备描述必须保存在片内的8K以内,所以假如描述表保存在0xE000以外的地址就必须移动到8K以内。这段代码就是这个作用。 [编辑 - 4/29/04 by upstar](2004-04-29 14:37)
zj0127我注意到从0xe000开始为data Ram,但if ((WORD)&DeviceDscr & 0xe000)的意思是判断DeviceDscr的地址一定在0xe000。在fx2.h中它的前面还有DSCR结构体,我是想C中应该是顺序存放自定义的变量吧,那么它也不应该...(2004-04-29 14:30)
valenhsu提示你一下: if ((WORD)&DeviceDscr & 0xe000)的意思是判断DeviceDscr是否位于大于0xe000的地址空间,而这正是外部数据空间(2004-04-29 13:15)
arthurcao关注中。。。。。(2004-04-29 10:21)
zj0127谁能帮帮我呀,指点我???小生不胜感激.(2004-04-28 14:07)
SUNSHANGXIN我郁闷 顺便帮你顶一下 :( :( :((2004-04-28 10:41)
zj0127顶一下,要不快找不见了。(2004-04-28 10:34)

返回顶部