一種usb設(shè)置和對(duì)外部設(shè)備進(jìn)行操作的方法及裝置制造方法
【專利摘要】本發(fā)明涉及計(jì)算機(jī)【技術(shù)領(lǐng)域】,特別涉及一種USB設(shè)置和對(duì)外部設(shè)備進(jìn)行操作的方法及裝置,用以解決目前PC通過USB接口只能對(duì)手機(jī)的一種功能進(jìn)行操作的問題。本發(fā)明實(shí)施例對(duì)外部設(shè)備進(jìn)行操作的方法包括:控制設(shè)備檢測(cè)到USB接口連接外部設(shè)備后,接收外部設(shè)備的功能對(duì)應(yīng)的描述符,并將每個(gè)功能對(duì)應(yīng)的描述符與其對(duì)應(yīng)的驅(qū)動(dòng)文件進(jìn)行匹配,匹配成功后確定每個(gè)功能對(duì)應(yīng)的虛擬功能設(shè)備;在接收到執(zhí)行功能的操作命令時(shí),通過功能對(duì)應(yīng)的驅(qū)動(dòng)接口,將操作命令發(fā)送給對(duì)應(yīng)的虛擬功能設(shè)備,從而實(shí)現(xiàn)對(duì)外部設(shè)備進(jìn)行操作,其中外部設(shè)備的USB接口中有多個(gè)虛擬端口。該技術(shù)方案由于增加了虛擬端口,使得控制設(shè)備能夠?qū)ν獠吭O(shè)備的至少一種功能進(jìn)行操作。
【專利說明】一種USB設(shè)置和對(duì)外部設(shè)備進(jìn)行操作的方法及裝置
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計(jì)算機(jī)【技術(shù)領(lǐng)域】,特別涉及一種USB設(shè)置和對(duì)外部設(shè)備進(jìn)行操作的方 法及裝置。
【背景技術(shù)】
[0002] Android智能手機(jī)的用戶群體越來越多,如何使用戶更方便地通過PC (個(gè)人計(jì)算 機(jī),Personal Computer)對(duì)Android智能手機(jī)進(jìn)行操作成為人們比較關(guān)注的問題。
[0003] 目前,由于Android系統(tǒng)的開放性導(dǎo)致PC的手機(jī)助手越來越多,可以在PC安裝 手機(jī)助手,通過USB (Universal Serial Bus,通用串行總線)接口實(shí)現(xiàn)對(duì)手機(jī)的操作,但是 現(xiàn)有技術(shù)中,PC與手機(jī)通過USB接口相連后,由于USB設(shè)備的功能端口只有一個(gè),若要實(shí) 現(xiàn)PC通過手機(jī)助手對(duì)手機(jī)進(jìn)行操作,就只能選擇ADB (調(diào)試橋,Android Debug Bridge)功 能,因而PC就不能對(duì)手機(jī)的其他功能如MTP (媒體傳輸協(xié)議,Media Transfer Protocol)、 PTP(Picture Transfer Protocol,圖片傳輸協(xié)議)、大容量存儲(chǔ)等進(jìn)行操作了。
[0004] 綜上所述,目前的PC只能通過USB接口對(duì)手機(jī)的一種功能進(jìn)行操作。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明提供一種USB設(shè)置和對(duì)外部設(shè)備進(jìn)行操作的方法及裝置,用以解決現(xiàn)有技 術(shù)中存在PC通過USB接口只能對(duì)手機(jī)的一種功能進(jìn)行操作的問題。
[0006] 本發(fā)明實(shí)施例提供了一種對(duì)外部設(shè)備進(jìn)行操作的方法,包括:
[0007] 控制設(shè)備檢測(cè)到通用串行總線USB接口連接外部設(shè)備,其中所述外部設(shè)備的USB 接口中有多個(gè)虛擬端口;
[0008] 所述控制設(shè)備通過所述USB接口接收所述外部設(shè)備的功能對(duì)應(yīng)的描述符;
[0009] 所述控制設(shè)備將每個(gè)所述功能對(duì)應(yīng)的描述符與每個(gè)所述功能對(duì)應(yīng)的驅(qū)動(dòng)文件進(jìn) 行匹配,在匹配成功后確定執(zhí)行每個(gè)所述功能對(duì)應(yīng)的虛擬功能設(shè)備;
[0010] 所述控制設(shè)備在接收到執(zhí)行功能的操作命令時(shí),通過需要執(zhí)行的功能對(duì)應(yīng)的驅(qū)動(dòng) 接口,將所述操作命令發(fā)送給需要執(zhí)行的功能對(duì)應(yīng)的虛擬功能設(shè)備,以使所述需要執(zhí)行的 功能對(duì)應(yīng)的虛擬功能設(shè)備對(duì)所述外部設(shè)備進(jìn)行操作。
[0011] 由于控制設(shè)備在向外部設(shè)備發(fā)送獲取描述符的命令后,能夠獲得至少一個(gè)功能的 描述符,將獲得的描述符與控制設(shè)備中的驅(qū)動(dòng)文件相匹配,從而確定執(zhí)行功能的虛擬功能 設(shè)備,因此控制設(shè)備能夠通過功能對(duì)應(yīng)的虛擬功能設(shè)備,針對(duì)至少一個(gè)功能對(duì)其外部設(shè)備 進(jìn)行操作,從而解決了現(xiàn)有技術(shù)中PC只能通過USB接口對(duì)手機(jī)的一種功能進(jìn)行操作的問 題。
[0012] 本發(fā)明實(shí)施例提供了一種通用串行總線USB設(shè)置的方法,包括:
[0013] 外部設(shè)備檢測(cè)到通過USB接口與控制設(shè)備連接;
[0014] 所述外部設(shè)備接收所述控制設(shè)備發(fā)送的獲取描述符的命令;
[0015] 所述外部設(shè)備在接收控制設(shè)備發(fā)送的獲取描述符的命令后,顯示多個(gè)虛擬端口中 每個(gè)虛擬端口對(duì)應(yīng)的功能;
[0016] 所述外部設(shè)備根據(jù)用戶選擇的每個(gè)功能對(duì)應(yīng)的USB驅(qū)動(dòng),生成對(duì)應(yīng)的描述符;
[0017] 所述外部設(shè)備將生成的所述描述符通過USB接口發(fā)送到所述控制設(shè)備。
[0018] 由于在外部設(shè)備的USB接口增加了功能對(duì)應(yīng)的虛擬端口,使得外部設(shè)備的功能能 夠分別對(duì)應(yīng)不同的虛擬端口,從而使得用戶能夠在外部設(shè)備的消息欄選擇至少一個(gè)功能, 因此外部設(shè)備能夠向控制設(shè)備發(fā)送至少一個(gè)功能對(duì)應(yīng)的描述符,進(jìn)而實(shí)現(xiàn)控制設(shè)備對(duì)外部 設(shè)備的至少一個(gè)功能進(jìn)行操作。
[0019] 本發(fā)明實(shí)施例提供了一種對(duì)外部設(shè)備進(jìn)行操作的裝置,包括:
[0020] 第一檢測(cè)模塊,用于檢測(cè)通用串行總線USB接口連接外部設(shè)備,其中所述外部設(shè) 備的USB接口中有多個(gè)虛擬端口;
[0021] 第一接收模塊,用于通過所述USB接口接收所述外部設(shè)備的功能對(duì)應(yīng)的描述符;
[0022] 匹配模塊,用于將每個(gè)所述功能對(duì)應(yīng)的描述符與每個(gè)所述功能對(duì)應(yīng)的驅(qū)動(dòng)文件進(jìn) 行匹配,在匹配成功后確定執(zhí)行每個(gè)所述功能對(duì)應(yīng)的虛擬功能設(shè)備;
[0023] 執(zhí)行模塊,用于在接收到執(zhí)行功能的操作命令時(shí),通過需要執(zhí)行的功能對(duì)應(yīng)的驅(qū) 動(dòng)接口,將所述操作命令發(fā)送給需要執(zhí)行的功能對(duì)應(yīng)的虛擬功能設(shè)備,以使所述需要執(zhí)行 的功能對(duì)應(yīng)的虛擬功能設(shè)備對(duì)所述外部設(shè)備進(jìn)行操作。
[0024] 本發(fā)明實(shí)施例提供了一種通用串行總線USB設(shè)置的裝置,包括:
[0025] 第二檢測(cè)模塊,用于檢測(cè)到通過USB接口與控制設(shè)備連接;
[0026] 第二接收模塊,用于接收所述控制設(shè)備發(fā)送的獲取描述符的命令;
[0027] 顯示模塊,用于在接收控制設(shè)備發(fā)送的獲取描述符的命令后,顯示多個(gè)虛擬端口 中每個(gè)虛擬端口對(duì)應(yīng)的功能;
[0028] 生成模塊,用于根據(jù)用戶選擇的每個(gè)功能對(duì)應(yīng)的USB驅(qū)動(dòng),生成對(duì)應(yīng)的描述符;
[0029] 發(fā)送模塊,用于將生成的所述描述符通過USB接口發(fā)送到所述控制設(shè)備。
【專利附圖】
【附圖說明】
[0030] 圖1為本發(fā)明實(shí)施例一對(duì)外部設(shè)備進(jìn)行操作的方法的流程圖;
[0031] 圖2為本發(fā)明實(shí)施例二通用串行總線USB設(shè)置的方法的流程圖;
[0032] 圖3為本發(fā)明實(shí)施例三對(duì)外部設(shè)備進(jìn)行操作的方法的流程圖;
[0033] 圖4為本發(fā)明實(shí)施例四對(duì)外部設(shè)備進(jìn)行操作的裝置的示意圖;
[0034] 圖5為本發(fā)明實(shí)施例五通用串行總線USB設(shè)置的裝置的示意圖。
【具體實(shí)施方式】
[0035] 本發(fā)明實(shí)施例的控制設(shè)備檢測(cè)到通用串行總線USB接口連接外部設(shè)備,其中所述 外部設(shè)備的USB接口中有多個(gè)虛擬端口;所述控制設(shè)備通過所述USB接口接收所述外部設(shè) 備的功能對(duì)應(yīng)的描述符;所述控制設(shè)備將每個(gè)所述功能對(duì)應(yīng)的描述符與每個(gè)所述功能對(duì)應(yīng) 的驅(qū)動(dòng)文件進(jìn)行匹配,在匹配成功后確定執(zhí)行每個(gè)所述功能對(duì)應(yīng)的虛擬功能設(shè)備;所述控 制設(shè)備在接收到執(zhí)行功能的操作命令時(shí),通過需要執(zhí)行的功能對(duì)應(yīng)的驅(qū)動(dòng)接口,將所述操 作命令發(fā)送給需要執(zhí)行的功能對(duì)應(yīng)的虛擬功能設(shè)備,以使所述需要執(zhí)行的功能對(duì)應(yīng)的虛擬 功能設(shè)備對(duì)所述外部設(shè)備進(jìn)行操作。
[0036] 本發(fā)明實(shí)施例的外部設(shè)備在通過USB接口與控制設(shè)備連接后,接收控制設(shè)備發(fā)送 的獲取描述符的命令;所述外部設(shè)備在接收控制設(shè)備發(fā)送的獲取描述符的命令后,顯示多 個(gè)虛擬端口中每個(gè)虛擬端口對(duì)應(yīng)的功能;所述外部設(shè)備根據(jù)用戶選擇的每個(gè)功能對(duì)應(yīng)的 USB驅(qū)動(dòng),生成對(duì)應(yīng)的描述符;所述外部設(shè)備將生成的所述描述符通過USB接口發(fā)送到所述 控制設(shè)備。
[0037] 這種技術(shù)方案由于增加了外部設(shè)備USB接口的虛擬端口,使得控制設(shè)備能夠獲得 至少一個(gè)功能對(duì)應(yīng)的描述符,實(shí)現(xiàn)了控制設(shè)備能夠?qū)ν庠O(shè)設(shè)備的至少一種功能進(jìn)行操作。
[0038] 下面結(jié)合說明書附圖對(duì)本發(fā)明實(shí)施例作進(jìn)一步詳細(xì)描述。
[0039] 如圖1所示,本發(fā)明實(shí)施例一對(duì)外部設(shè)備進(jìn)行操作的方法,包括:
[0040] 步驟100,控制設(shè)備檢測(cè)到通用串行總線USB接口連接外部設(shè)備,其中所述外部設(shè) 備的USB接口中有多個(gè)虛擬端口;
[0041] 步驟101,所述控制設(shè)備通過所述USB接口接收所述外部設(shè)備的功能對(duì)應(yīng)的描述 符;
[0042] 步驟102,所述控制設(shè)備將每個(gè)所述功能對(duì)應(yīng)的描述符與每個(gè)所述功能對(duì)應(yīng)的驅(qū) 動(dòng)文件進(jìn)行匹配,在匹配成功后確定執(zhí)行每個(gè)所述功能對(duì)應(yīng)的虛擬功能設(shè)備;
[0043] 步驟103,所述控制設(shè)備在接收到執(zhí)行功能的操作命令時(shí),通過需要執(zhí)行的功能對(duì) 應(yīng)的驅(qū)動(dòng)接口,將所述操作命令發(fā)送給需要執(zhí)行的功能對(duì)應(yīng)的虛擬功能設(shè)備,以使所述需 要執(zhí)行的功能對(duì)應(yīng)的虛擬功能設(shè)備對(duì)所述外部設(shè)備進(jìn)行操作。
[0044] 其中,控制設(shè)備可以為PC等具有控制功能的設(shè)備,外部設(shè)備可以為智能手機(jī)等具 有操作系統(tǒng)如Android系統(tǒng)的智能設(shè)備。
[0045] 在實(shí)施中,控制設(shè)備在檢測(cè)到通用串行總線USB接口連接外部設(shè)備,通過所述USB 接口接收所述外部設(shè)備至少一個(gè)功能對(duì)應(yīng)的描述符之間,還會(huì)通過USB接口向外部設(shè)備發(fā) 送獲取描述符命令,以使外部設(shè)備返回描述符。上述發(fā)送命令并接收描述符的過程也可以 稱為枚舉流程。
[0046] 在本發(fā)明實(shí)施例中,控制設(shè)備與外部設(shè)備通過USB接口相連后,在控制設(shè)備顯示 未知的虛擬功能設(shè)備,在外部設(shè)備端彈出消息框,使得用戶根據(jù)需要在消息框中對(duì)其功能 進(jìn)行選擇,其中所選擇的功能不能占用同一手機(jī)資源,如不能同時(shí)選擇MTP和PTP,這是由 于MTP與PTP占用了外部設(shè)備端的同一存儲(chǔ)資源,因此不能同時(shí)對(duì)其操作。
[0047] 在功能選擇后,控制設(shè)備進(jìn)行枚舉流程,也就是控制設(shè)備發(fā)送獲取描述符命令,從 而獲取用戶選擇的功能對(duì)應(yīng)的描述符的過程。
[0048] 較佳地,針對(duì)一個(gè)功能,對(duì)應(yīng)的描述符包括以下部分或全部的信息:設(shè)備描述符、 配置描述符、端口描述符以及端點(diǎn)描述符。
[0049] 在獲取用戶選擇的功能對(duì)應(yīng)的描述符后,并將功能的描述符信息與對(duì)應(yīng)的控制設(shè) 備的功能驅(qū)動(dòng)文件相匹配,如若選擇的為MTP和ADB,則MTP功能的描述符信息與控制設(shè) 備MTP的驅(qū)動(dòng)文件進(jìn)行匹配,則ADB功能的描述符信息與控制設(shè)備ADB的驅(qū)動(dòng)文件進(jìn)行匹 配,其具體匹配過程以ADB功能為例,獲取ADB功能的描述符信息后,控制設(shè)備在ADB驅(qū)動(dòng) 文件中選擇與該功能對(duì)應(yīng)的配置信息,并將選擇的配置信息與所獲取的描述符信息進(jìn)行 匹配,若匹配成功,從控制設(shè)備上顯示的多個(gè)未知虛擬功能設(shè)備中選擇一個(gè),并通過set_ configuration請(qǐng)求根據(jù)選擇的配置信息對(duì)選擇的未知虛擬功能設(shè)備進(jìn)行配置,并將配置后 的虛擬功能設(shè)備作為執(zhí)行該功能對(duì)應(yīng)的虛擬功能設(shè)備。
[0050] 當(dāng)接收到相應(yīng)的操作指令,通過對(duì)應(yīng)的驅(qū)動(dòng)接口下發(fā)到對(duì)應(yīng)的虛擬驅(qū)動(dòng)設(shè)備,從 而實(shí)現(xiàn)對(duì)手機(jī)的操作,例如,通過MTP功能對(duì)外部設(shè)備視頻進(jìn)行刪除操作,當(dāng)控制設(shè)備接收 到刪除相關(guān)視頻操作的命令時(shí),下發(fā)到MTP驅(qū)動(dòng)接口,通過MTP驅(qū)動(dòng)接口下發(fā)到MTP設(shè)備, 進(jìn)而來實(shí)現(xiàn)外部設(shè)備刪除視頻的操作。在本發(fā)明中,在通過MTP功能對(duì)外部設(shè)備進(jìn)行操作 的同時(shí),還能夠使用ADB功能或其他與MTP功能不占用同一外部設(shè)備資源的功能對(duì)外部設(shè) 備進(jìn)行操作。
[0051] 較佳地,所述控制設(shè)備在檢測(cè)到USB接口連接外部設(shè)備之后,通過USB接口向所述 外部設(shè)備發(fā)送獲取所述描述符的命令;
[0052] 在向所述外部設(shè)備發(fā)送獲取所述描述符的命令后,通過USB接口接收所述外部設(shè) 備至少一個(gè)功能對(duì)應(yīng)的描述符。
[0053] 在實(shí)施中,本發(fā)明實(shí)施例的獲取所述描述符的命令可以是現(xiàn)有的獲取所述描述符 的命令;由于本發(fā)明實(shí)施例的描述符有可能有多個(gè),所以該命令也可以是一個(gè)新的命令。
[0054] 例如,控制設(shè)備可以通過0地址向外部設(shè)備發(fā)送get_device_descriptor標(biāo)準(zhǔn)請(qǐng) 求,獲取設(shè)備描述符;控制設(shè)備向外部設(shè)備發(fā)送get_configuration請(qǐng)求,則獲取配置描述 符。
[0055] 由于控制設(shè)備與外部設(shè)備通過USB接口連接后,會(huì)在外部設(shè)備彈出一個(gè)消息框, 需用戶對(duì)其功能模式進(jìn)行選擇,若選擇充電模式,則表示用戶只需要進(jìn)行充電,而不需要進(jìn) 行操作,所以控制設(shè)備不再進(jìn)行枚舉流程,否則控制設(shè)備需要進(jìn)行枚舉流程。
[0056] 因此,所述控制設(shè)備在檢測(cè)到USB接口連接外部設(shè)備后,確定所述外部設(shè)備是否 為非充電模式;
[0057] 若確定所述外部設(shè)備為非充電模式,則通過USB接口接收所述外部設(shè)備至少一個(gè) 功能對(duì)應(yīng)的描述符。
[0058] 也就是說,外部設(shè)備如手機(jī)端通過彈出的消息框選擇的功能為mtp、adb或ptp等 而非充電模式時(shí),控制設(shè)備還需進(jìn)行枚舉流程,因此在枚舉流程之前需對(duì)外部設(shè)備的選擇 模式進(jìn)行確定。
[0059] 較佳地,該方法還包括:
[0060] 所述控制設(shè)備在檢測(cè)到USB接口連接外部設(shè)備后,若根據(jù)收到的來自外部設(shè)備模 式信息,確定所述外部設(shè)備為充電模式,則跳過通過所述USB接口接收所述外部設(shè)備的功 能對(duì)應(yīng)的描述符的步驟,直接對(duì)外部設(shè)備進(jìn)行充電操作。
[0061] 若選擇的為充電模式,則PC跳過所述控制設(shè)備通過所述USB接口接收所述外部設(shè) 備的功能對(duì)應(yīng)的描述符的流程以及后續(xù)功能對(duì)應(yīng)的描述符與該功能對(duì)應(yīng)的驅(qū)動(dòng)文件進(jìn)行 匹配,確定虛擬功能設(shè)備,并對(duì)外部設(shè)備的一種或多種功能進(jìn)行操作的流程,直接對(duì)手機(jī)進(jìn) 行充電,從而使得用戶通過PC對(duì)手機(jī)進(jìn)行充電操作時(shí)無需安裝驅(qū)動(dòng)即可達(dá)到充電的目的。
[0062] 如圖2所示,本發(fā)明實(shí)施例二通用串行總線USB設(shè)置的方法,包括:
[0063] 步驟200,外部設(shè)備檢測(cè)到通過USB接口與控制設(shè)備連接;
[0064] 步驟201,所述外部設(shè)備接收所述控制設(shè)備發(fā)送的獲取描述符的命令;
[0065] 步驟202,所述外部設(shè)備在接收控制設(shè)備發(fā)送的獲取描述符的命令后,顯示多個(gè)虛 擬端口中每個(gè)虛擬端口對(duì)應(yīng)的功能;
[0066] 步驟203,所述外部設(shè)備根據(jù)用戶選擇的每個(gè)功能對(duì)應(yīng)的USB驅(qū)動(dòng),生成對(duì)應(yīng)的描 述符;
[0067] 步驟204,所述外部設(shè)備將生成的所述描述符通過USB接口發(fā)送到所述控制設(shè)備。
[0068] 由于在USB設(shè)備中,是以虛擬端口 interface為單位的,在本發(fā)明實(shí)施例中將不同 的功能對(duì)應(yīng)到不同的interface上,其中,這些不同的功能不能占用同一手機(jī)資源,就能夠 實(shí)現(xiàn)在手機(jī)端的消息欄中選擇至少一個(gè)功能的操作,如將MTP對(duì)應(yīng)到interfaceO, ADB對(duì)應(yīng) 到interfacel上,用戶就能同時(shí)選擇MTP和ADB功能或其中之一。
[0069] 較佳地,所述外部設(shè)備檢測(cè)到通過USB接口與控制設(shè)備連接之后,還包括:
[0070] 所述外部設(shè)備根據(jù)用戶選擇的模式確定對(duì)應(yīng)的模式信息,并將確定的所述模式信 息發(fā)送給所述控制設(shè)備;
[0071] 其中所述模式信息用于表示所述外部設(shè)備是否是非充電模式。
[0072] 如圖3所示,本發(fā)明實(shí)施例三對(duì)外部設(shè)備進(jìn)行操作的方法,包括:
[0073] 步驟300,在USB設(shè)備中,將外部設(shè)備中不占用同一資源的不同功能分別對(duì)應(yīng)到不 同的 interface 上。
[0074] 步驟301,外部設(shè)備與控制設(shè)備通過USB接口相連,在外部設(shè)備上彈出消息欄,根 據(jù)用戶需要進(jìn)行選擇。
[0075] 步驟302,確定在外部設(shè)備的消息欄中選擇是否為充電模式,若為充電模式,則執(zhí) 行步驟303 ;否則執(zhí)行步驟304。
[0076] 步驟303,控制設(shè)備跳過枚舉流程,直接對(duì)外部設(shè)備進(jìn)行充電,流程結(jié)束。
[0077] 步驟304,若在外部設(shè)備的消息欄中選擇的為MTP、ADB功能,則控制設(shè)備執(zhí)行枚舉 流程,獲得MTP與ADB對(duì)應(yīng)的描述符。
[0078] 步驟305,將MTP的描述符與ADB的描述符分別與控制設(shè)備上對(duì)應(yīng)的MTP驅(qū)動(dòng)文 件、ADB驅(qū)動(dòng)文件相匹配。
[0079] 步驟306,若匹配成功,則控制設(shè)備與外部設(shè)備通過USB接口連接后,在控制設(shè)備 顯示的未知設(shè)備則確定為MTP設(shè)備和ADB設(shè)備。
[0080] 步驟307,在控制設(shè)備接收到相應(yīng)的操作指令后,通過對(duì)應(yīng)的驅(qū)動(dòng)接口下發(fā)到對(duì)應(yīng) 的驅(qū)動(dòng)設(shè)備,從而實(shí)現(xiàn)對(duì)手機(jī)的操作。
[0081] 基于同一發(fā)明構(gòu)思,本發(fā)明實(shí)施例中還提供了一種對(duì)外部設(shè)備進(jìn)行操作的裝置, 由于本發(fā)明實(shí)施例對(duì)外部設(shè)備進(jìn)行操作的裝置對(duì)應(yīng)的方法為對(duì)外部設(shè)備進(jìn)行操作的方法, 因此本發(fā)明實(shí)施例裝置的實(shí)施可以參見方法的實(shí)施,重復(fù)之處不再贅述。
[0082] 如圖4所示,本發(fā)明實(shí)施例四對(duì)外部設(shè)備進(jìn)行操作的裝置,包括:
[0083] 第一檢測(cè)模塊400,用于檢測(cè)通用串行總線USB接口連接外部設(shè)備,其中所述外部 設(shè)備的USB接口中有多個(gè)虛擬端口;
[0084] 第一接收模塊401,用于通過所述USB接口接收所述外部設(shè)備的功能對(duì)應(yīng)的描述 符;
[0085] 匹配模塊402,用于將每個(gè)所述功能對(duì)應(yīng)的描述符與每個(gè)所述功能對(duì)應(yīng)的驅(qū)動(dòng)文 件進(jìn)行匹配,在匹配成功后確定執(zhí)行每個(gè)所述功能對(duì)應(yīng)的虛擬功能設(shè)備;
[0086] 執(zhí)行模塊403,用于在接收到執(zhí)行功能的操作命令時(shí),通過需要執(zhí)行的功能對(duì)應(yīng)的 驅(qū)動(dòng)接口,將所述操作命令發(fā)送給需要執(zhí)行的功能對(duì)應(yīng)的虛擬功能設(shè)備,以使所述需要執(zhí) 行的功能對(duì)應(yīng)的虛擬功能設(shè)備對(duì)所述外部設(shè)備進(jìn)行操作。
[0087] 較佳地,所述第一檢測(cè)模塊400還用于:
[0088] 在檢測(cè)到USB接口連接外部設(shè)備后,通過USB接口向所述外部設(shè)備發(fā)送獲取所述 描述符的命令。
[0089] 較佳地,針對(duì)一個(gè)功能,對(duì)應(yīng)的描述符包括以下部分或全部的信息:
[0090] 設(shè)備描述符、配置描述符、端口描述符以及端點(diǎn)描述符。
[0091] 較佳地,所述第一接收模塊401還用于:
[0092] 在檢測(cè)到USB接口連接外部設(shè)備后,若確定所述外部設(shè)備為非充電模式,則通過 USB接口接收所述外部設(shè)的功能對(duì)應(yīng)的描述符。
[0093] 較佳地,所述第一接收模塊401還用于:
[0094] 在檢測(cè)到USB接口連接外部設(shè)備后,若根據(jù)收到的來自外部設(shè)備模式信息,確定 所述外部設(shè)備為充電模式,則跳過通過所述USB接口接收所述外部設(shè)備的功能對(duì)應(yīng)的描述 符的步驟,直接對(duì)外部設(shè)備進(jìn)行充電操作。
[0095] 如圖5所示,本發(fā)明實(shí)施例五通用串行總線USB設(shè)置的裝置,包括:
[0096] 第二檢測(cè)模塊500,用于檢測(cè)到通過USB接口與控制設(shè)備連接;
[0097] 第二接收模塊501,用于接收所述控制設(shè)備發(fā)送的獲取描述符的命令;
[0098] 顯示模塊502,用于在接收控制設(shè)備發(fā)送的獲取描述符的命令后,顯示多個(gè)虛擬端 口中每個(gè)虛擬端口對(duì)應(yīng)的功能;
[0099] 生成模塊503,用于根據(jù)用戶選擇的每個(gè)功能對(duì)應(yīng)的USB驅(qū)動(dòng),生成對(duì)應(yīng)的描述 符;
[0100] 發(fā)送模塊504,用于將生成的所述描述符通過USB接口發(fā)送到所述控制設(shè)備。
[0101] 較佳地,第二接收模塊501還用于:
[0102] 在所述外部設(shè)備檢測(cè)到通過USB接口與控制設(shè)備連接之后,所述外部設(shè)備根據(jù)用 戶選擇的模式確定對(duì)應(yīng)的模式信息,并將確定的所述模式信息發(fā)送給所述控制設(shè)備;
[0103] 其中所述模式信息用于表示所述外部設(shè)備是否是非充電模式。
[0104] 從上述內(nèi)容可以看出,本發(fā)明實(shí)施例的控制設(shè)備檢測(cè)到通用串行總線USB接口連 接外部設(shè)備,其中所述外部設(shè)備的USB接口中有多個(gè)虛擬端口;所述控制設(shè)備通過所述USB 接口接收所述外部設(shè)備的功能對(duì)應(yīng)的描述符;所述控制設(shè)備將每個(gè)所述功能對(duì)應(yīng)的描述符 與每個(gè)所述功能對(duì)應(yīng)的驅(qū)動(dòng)文件進(jìn)行匹配,在匹配成功后確定執(zhí)行每個(gè)所述功能對(duì)應(yīng)的虛 擬功能設(shè)備;所述控制設(shè)備在接收到執(zhí)行功能的操作命令時(shí),通過需要執(zhí)行的功能對(duì)應(yīng)的 驅(qū)動(dòng)接口,將所述操作命令發(fā)送給需要執(zhí)行的功能對(duì)應(yīng)的虛擬功能設(shè)備,以使所述需要執(zhí) 行的功能對(duì)應(yīng)的虛擬功能設(shè)備對(duì)所述外部設(shè)備進(jìn)行操作。
[0105] 本發(fā)明實(shí)施例的外部設(shè)備在通過USB接口與控制設(shè)備連接后,接收控制設(shè)備發(fā)送 的獲取描述符的命令;所述外部設(shè)備在接收控制設(shè)備發(fā)送的獲取描述符的命令后,顯示多 個(gè)虛擬端口中每個(gè)虛擬端口對(duì)應(yīng)的功能;所述外部設(shè)備根據(jù)用戶選擇的每個(gè)功能對(duì)應(yīng)的 USB驅(qū)動(dòng),生成對(duì)應(yīng)的描述符;所述外部設(shè)備將生成的所述描述符通過USB接口發(fā)送到所述 控制設(shè)備。
[0106] 這種技術(shù)方案由于增加了外部設(shè)備USB接口的虛擬端口,使得控制設(shè)備能夠獲得 至少一個(gè)功能對(duì)應(yīng)的描述符,實(shí)現(xiàn)了控制設(shè)備能夠?qū)ν庠O(shè)設(shè)備的至少一種功能進(jìn)行操作, 從而解決了 PC通過USB接口只能對(duì)手機(jī)的一種功能進(jìn)行操作的問題。
[0107] 本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序 產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí) 施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī) 可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn) 品的形式。
[0108] 本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程 圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一 流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計(jì)算 機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理 器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生 用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能 的裝置。
[0109] 這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特 定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指 令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或 多個(gè)方框中指定的功能。
[0110] 這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì) 算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或 其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖 一個(gè)方框或多個(gè)方框中指定的功能的步驟。
[0111] 盡管已描述了本發(fā)明的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造 性概念,則可對(duì)這些實(shí)施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu) 選實(shí)施例以及落入本發(fā)明范圍的所有變更和修改。
[0112] 顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精 神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍 之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
【權(quán)利要求】
1. 一種對(duì)外部設(shè)備進(jìn)行操作的方法,其特征在于,該方法包括: 控制設(shè)備檢測(cè)到通用串行總線USB接口連接外部設(shè)備,其中所述外部設(shè)備的USB接口 中有多個(gè)虛擬端口; 所述控制設(shè)備通過所述USB接口接收所述外部設(shè)備的功能對(duì)應(yīng)的描述符; 所述控制設(shè)備將每個(gè)所述功能對(duì)應(yīng)的描述符與每個(gè)所述功能對(duì)應(yīng)的驅(qū)動(dòng)文件進(jìn)行匹 配,在匹配成功后確定執(zhí)行每個(gè)所述功能對(duì)應(yīng)的虛擬功能設(shè)備; 所述控制設(shè)備在接收到執(zhí)行功能的操作命令時(shí),通過需要執(zhí)行的功能對(duì)應(yīng)的驅(qū)動(dòng)接 口,將所述操作命令發(fā)送給需要執(zhí)行的功能對(duì)應(yīng)的虛擬功能設(shè)備,以使所述需要執(zhí)行的功 能對(duì)應(yīng)的虛擬功能設(shè)備對(duì)所述外部設(shè)備進(jìn)行操作。
2. 如權(quán)利要求1所述的方法,其特征在于,控制設(shè)備檢測(cè)到通用串行總線USB接口連接 外部設(shè)備之后,還包括: 所述控制設(shè)備通過USB接口向所述外部設(shè)備發(fā)送獲取所述描述符的命令。
3. 如權(quán)利要求1所述的方法,其特征在于,針對(duì)一個(gè)功能,對(duì)應(yīng)的描述符包括以下部分 或全部的信息: 設(shè)備描述符、配置描述符、端口描述符以及端點(diǎn)描述符。
4. 如權(quán)利要求1所述的方法,其特征在于,控制設(shè)備檢測(cè)到通用串行總線USB接口連接 外部設(shè)備之后,還包括: 所述控制設(shè)備根據(jù)收到的來自外部設(shè)備模式信息,確定所述外部設(shè)備為非充電模式。
5. 如權(quán)利要求4所述的方法,其特征在于,該方法還包括: 所述控制設(shè)備在檢測(cè)到USB接口連接外部設(shè)備后,若根據(jù)收到的來自外部設(shè)備模式信 息,確定所述外部設(shè)備為充電模式,則跳過通過所述USB接口接收所述外部設(shè)備的功能對(duì) 應(yīng)的描述符的步驟,直接對(duì)外部設(shè)備進(jìn)行充電操作。
6. -種通用串行總線USB設(shè)置的方法,其特征在于,該方法包括: 外部設(shè)備檢測(cè)到通過USB接口與控制設(shè)備連接; 所述外部設(shè)備接收所述控制設(shè)備發(fā)送的獲取描述符的命令; 所述外部設(shè)備在接收控制設(shè)備發(fā)送的獲取描述符的命令后,顯示多個(gè)虛擬端口中每個(gè) 虛擬端口對(duì)應(yīng)的功能; 所述外部設(shè)備根據(jù)用戶選擇的每個(gè)功能對(duì)應(yīng)的USB驅(qū)動(dòng),生成對(duì)應(yīng)的描述符; 所述外部設(shè)備將生成的所述描述符通過USB接口發(fā)送到所述控制設(shè)備。
7. 如權(quán)利要求6所述的方法,其特征在于,所述外部設(shè)備檢測(cè)到通過USB接口與控制設(shè) 備連接之后,還包括: 所述外部設(shè)備根據(jù)用戶選擇的模式確定對(duì)應(yīng)的模式信息,并將確定的所述模式信息發(fā) 送給所述控制設(shè)備; 其中所述模式信息用于表示所述外部設(shè)備是否是非充電模式。
8. -種對(duì)外部設(shè)備進(jìn)行操作的裝置,其特征在于,該裝置包括: 第一檢測(cè)模塊,用于檢測(cè)通用串行總線USB接口連接外部設(shè)備,其中所述外部設(shè)備的 USB接口中有多個(gè)虛擬端口; 第一接收模塊,用于通過所述USB接口接收所述外部設(shè)備的功能對(duì)應(yīng)的描述符; 匹配模塊,用于將每個(gè)所述功能對(duì)應(yīng)的描述符與每個(gè)所述功能對(duì)應(yīng)的驅(qū)動(dòng)文件進(jìn)行匹 配,在匹配成功后確定執(zhí)行每個(gè)所述功能對(duì)應(yīng)的虛擬功能設(shè)備; 執(zhí)行模塊,用于在接收到執(zhí)行功能的操作命令時(shí),通過需要執(zhí)行的功能對(duì)應(yīng)的驅(qū)動(dòng)接 口,將所述操作命令發(fā)送給需要執(zhí)行的功能對(duì)應(yīng)的虛擬功能設(shè)備,以使所述需要執(zhí)行的功 能對(duì)應(yīng)的虛擬功能設(shè)備對(duì)所述外部設(shè)備進(jìn)行操作。
9. 如權(quán)利要求8所述的裝置,其特征在于,所述第一檢測(cè)模塊還用于: 在檢測(cè)到USB接口連接外部設(shè)備之后,通過USB接口向所述外部設(shè)備發(fā)送獲取所述描 述符的命令。
10. 如權(quán)利要求8所述的裝置,其特征在于,針對(duì)一個(gè)功能,對(duì)應(yīng)的描述符包括以下部 分或全部的信息: 設(shè)備描述符、配置描述符、端口描述符以及端點(diǎn)描述符。
11. 如權(quán)利要求8所述的裝置,其特征在于,所述第一接收模塊還用于: 在檢測(cè)到USB接口連接外部設(shè)備后,若確定所述外部設(shè)備為非充電模式,則通過USB接 口接收所述外部設(shè)備的功能對(duì)應(yīng)的描述符。
12. 如權(quán)利要求11所述的裝置,其特征在于,所述第一接收模塊還用于: 在檢測(cè)到USB接口連接外部設(shè)備后,若根據(jù)收到的來自外部設(shè)備模式信息,確定所述 外部設(shè)備為充電模式,則跳過通過所述USB接口接收所述外部設(shè)備的功能對(duì)應(yīng)的描述符的 步驟,直接對(duì)外部設(shè)備進(jìn)行充電操作。
13. -種通用串行總線USB設(shè)置的裝置,其特征在于,該裝置包括: 第二檢測(cè)模塊,用于檢測(cè)到通過USB接口與控制設(shè)備連接; 第二接收模塊,用于接收所述控制設(shè)備發(fā)送的獲取描述符的命令; 顯示模塊,用于在接收控制設(shè)備發(fā)送的獲取描述符的命令后,顯示多個(gè)虛擬端口中每 個(gè)虛擬端口對(duì)應(yīng)的功能; 生成模塊,用于根據(jù)用戶選擇的每個(gè)功能對(duì)應(yīng)的USB驅(qū)動(dòng),生成對(duì)應(yīng)的描述符; 發(fā)送模塊,用于將生成的所述描述符通過USB接口發(fā)送到所述控制設(shè)備。
14. 如權(quán)利要求13所述的裝置,其特征在于,第二接收模塊還用于: 在所述外部設(shè)備檢測(cè)到通過USB接口與控制設(shè)備連接之后,所述外部設(shè)備根據(jù)用戶選 擇的模式確定對(duì)應(yīng)的模式信息,并將確定的所述模式信息發(fā)送給所述控制設(shè)備; 其中所述模式信息用于表示所述外部設(shè)備是否是非充電模式。
【文檔編號(hào)】G06F13/40GK104216840SQ201410461865
【公開日】2014年12月17日 申請(qǐng)日期:2014年9月11日 優(yōu)先權(quán)日:2014年9月11日
【發(fā)明者】丁超 申請(qǐng)人:青島海信移動(dòng)通信技術(shù)股份有限公司