請問在CH549上做組合設(shè)備要不要寫IAD呢

看了官網(wǎng)的例子,鍵鼠組合的設(shè)備是沒有寫IAD的,那我做HID和AUDIO的組合設(shè)備可以參考官網(wǎng)的例子嗎

可以下載CH563EVT,參考里面的USB例程模擬AUDIO設(shè)備。


我是在CH549的CompositiveHID的例程上 把配置描述符修改為AUDIO設(shè)備的描述符 這樣可行嘛 我修改為AUDIO的配置描述符了之后是提示配置描述符請求失敗


中斷服務(wù)函數(shù)沒有修改? 我只需要枚舉設(shè)備成功??


看一下配置描述符長度有沒有對應(yīng)修改,還有接口個數(shù),每一個接口描述符對應(yīng)的接口索引正不正確。另外你還需要處理AUDIO設(shè)備的類命令描述符。


確認(rèn)描述符沒啥問題了 是不是中斷服務(wù)函數(shù)少寫了什么? 可以發(fā)給你看一下嘛


這是我寫的AUDIO配置描述符




UINT8 CfgDesc[ ] =?

{

//Configuration Descriptor

0x09,//Length

0x02,//Configruation Descriptor Type

0x6D,0x00,//Total Length

0x02,//Number of Interfaces

0x01,//Configuration Value

0x00,//Configuration String Index

0xA0,//Attributes

0x25,//MaxPower

//Standard AudioControl Interface descriptor

0x09,//Length

0x04,//Interface Descriptor Type

0x00,//Interface Number Index

0x00,//Alternate Setting Number

0x00,//Number of Endpoints

0x01,//Interface Class

0x01,//Interface SubClass

0x00,//Interface Protocol

0x00,//Interface String

//Class-Specific AC Interface descriptor

0x09,//Length

0x24,//Audio Descriptor Type(Descriptor Type)

0x01,//Audio Control Header(Descriptor SubType)

0x00,0x01,//bcd audio device class

0x27,0x00,//Total Length

0x01,//In Collection:2 AudioStreaming Interface

0x01,//InterfaceNr 1? id:1 AS interface 1 belongs to this AC interface

//Input terminal Descriptor

0x0C,//length

0x24,//Descriptor Type

0x02,//Descriptor Subtype

0x04,//terminal ID

0x01,0x02,//terminalType:USB Microphone

0x00,//output terminal id which is associated with this input terminal

0x01,//NrChannels

0x01,0x00,//ChannelConfig:Left Front,Right Front

0x00,//ChannelName String

0x00,//Terminal String

//Feature Unit Descriptor

0x09,//Length

0x24,//Descriptor Type

0x06,//Descriptor Subtype

0x05,//UnitID

0x04,//Source ID

0x01,//ControlSize

0x03,0x00,//Controls(0)

0x00,//FU string

//Output terminal Descriptor

0x09,//Length

0x24,//Descriptor Type

0x03,//Descriptor Subtype

0x06,//terminal ID

0x01,0x01,//terminal type

0x00,//AssocTerminal

0x05,//source ID

0x00,//terminal string

//Standard AudioStreaming Interface descriptor

0x09,//Length

0x04,//DescriptorType

0x01,//InterfaceNumber

0x00,//AlternateSetting

0x00,//Endpoints Number

0x01,//Interface Class

0x02,//Interface Subclass

0x00,//Interface Protocol

0x00,//Interface String

//Alternate

0x09,

0x04,

0x01,

0x01,

0x01,

0x01,

0x02,

0x00,

0x00,

//class-specific AS interface descriptor

0x07,//Length

0x24,//Descriptor Type

0x01,//Descriptor Subtype

0x06,//Terminal Link

0x01,//Delay

0x01,0x00,//FormatTag:PCM 0x0001

//class-specific AS format type descriptor

0x0B,//Length

0x24,//Descriptor Type

0x02,//Descriptor Subtype

0x01,//FormatType

0x01,//Number of Channels

0x02,//SubFrameSize

0x10,//BitResolution:16bits per sample

0x01,//SampleFreqType:One sampling frequency

0x80,0x3E,0x00,//16K

//Standard Endpoint

0x09,//Length

0x05,//Descriptor Type

0x82,//EndpointAddress:Input EP2

0x0d,//Attributes

0x40,0x00,//MaxPacketSize

0x01,//Interval

0x00,

0x00,

//Audio Endpoint Descriptor

0x07,//Length

0x25,//Descriptor Type

0x01,//Descriptor Subtype

0x01,//Attributes

0x00,//LockDelayUnits

0x00,0x00,//LockDelay

};



CH563里面是有現(xiàn)成的模擬AUDIO設(shè)備的例程的,如果描述符沒有什么問題中斷服務(wù)函數(shù)你參考那個例程移植就可以了。


找到問題所在了 是因?yàn)槊杜eAUDIO配置描述符的時候描述符超過了64bytes CH549上面怎么實(shí)現(xiàn)分包發(fā)送呢


我們例程里面應(yīng)該做了分包處理,如圖所示:

image.png


我按這個寫上去? ?發(fā)現(xiàn)只能收到前面64個字節(jié)的配置描述符


你好 你可以加打印監(jiān)控一下這些長度變量 看一下在哪里出了問題


只有登錄才能回復(fù),可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频