采用的是沁恒提供的控制打印機的程序,選用的打印機型號是hp deskjet640c。在讀取配置描述符時,返回的狀態(tài)值是0x17.請問是不是因為配置描述符太長,造成寄存器溢出。還有其他可能性嗎?
自己坐下沙發(fā)
可能是配置描述符超過了64字節(jié),所以要用外部固件來讀取描述符,你發(fā)個郵件到我們技術信箱,我給你發(fā)外部固件讀取描述符的程序
郵件已發(fā),多謝。
郵件已收到。不過有一點不明白的地方。toggle_send(); toggle_recv();和ch375prt.c中的定義不同。這里沒有參數(shù),但是ch375prt.c中定義的函數(shù)是有形參的。請問這里的函數(shù)是怎么定義的。還有,endp6_mode和endp7_mode又代表什么?
我把這幾個都發(fā)給你
多謝,看到了函數(shù)定義我覺得自己很笨,看到那兩個數(shù)值猜都應該猜到了。
將結構request的定義發(fā)給我好嗎?
想請問下外部固件程序中變量flag_config_2是什么含義。
bit flag_config_2=0; //第二次獲取描述符標志位
再請教一個問題,ch375prt.c中分析配置描述符的時候,提到了接口類型和接口子類型。這個應該是借口描述符的內(nèi)容吧?
在配置描述符中,包括:配置描述符(開頭的為0X09,0X02)配置描述符的長度為9. 接口描述符(開頭為0X09,0X04)長度為9,端點描述符(0X07,0X05)長度為7. 你可以去看USB的協(xié)議
這個我知道的,那么怎么讀取接口描述符呢?
接口描述符是在讀配置描述符的時候一起讀出來的
多謝多謝,有點眉目了,在研究研究。
還想請教一下,端點描述符中,端點收發(fā)最大包的大小用了兩個字節(jié),可是程序中用來接收這個值的變量endp_out_size卻是unsigned char 型,請問為什么?