USB рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдореЗрдВ рдХрдИ рд╕реНрддрд░ рд╣реЛрддреЗ рд╣реИрдВред рдирд┐рдореНрдирддрдо рд╕реНрддрд░ рдкрд░, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЬрд┐рд╕реЗ
рд╣реЛрд╕реНрдЯ рдХрдВрдЯреНрд░реЛрд▓рд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд╕рдВрдХреЗрддреЛрдВ рдХреЗ рд╕рд╛рде рдпреВрдПрд╕рдмреА рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдХрд░рддрд╛ рд╣реИред рд╕рд┐рдЧреНрдирд▓ рдмрд┐рдЯреНрд╕ рдХреЛ рдХреВрдЯрддреЗ рд╣реИрдВ, рдмрд┐рдЯреНрд╕ рдХреЛ рдкреИрдХреЗрдЯ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдкреИрдХреЗрдЯ рд╕реЗ
рд▓реЗрдирджреЗрди рд╣реЛрддрд╛ рд╣реИ , рд▓реЗрди-
рджреЗрди рдореЗрдВ рдмрджрд▓рд╛рд╡ рд╣реЛрддрд╛ рд╣реИред
рдореИрдВ рдпреВрдПрд╕рдмреА рдХреЗ рд▓рд┐рдП рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╕рдорд░реНрдерди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдХреЗ рдиреАрдЪреЗ рдХреЗ рд╕реНрддрд░
рд▓рдЧрднрдЧ рдирд┐рд░реНрдмрд╛рдз рд╣реИрдВ: рдореЗрдЬрдмрд╛рди рдирд┐рдпрдВрддреНрд░рдХ рдЙрдирдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдХреМрди рд╕рд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реЛрд╕реНрдЯ рдирд┐рдпрдВрддреНрд░рдХ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИред рддреАрди рдЗрдВрдЯрд░рдлреЗрд╕ рдЕрдм рдЖрдо рд╣реИрдВ, рдФрд░ рдПрдХ рдЪреМрдерд╛ рдзреАрд░реЗ-рдзреАрд░реЗ рдлреИрд▓ рд░рд╣рд╛ рд╣реИ:
рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХреЗ рд╕рдорд╛рди рд╕реНрддрд░ рдкрд░
рдХрд░реНрдиреЗрд▓ / рдЯреНрд░рдВрдХ / рдмрд╕ / usb / hccommon.inc рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ , рдЬрд╣рд╛рдВ рд╕рднреА рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХрд╛рд░реНрдп рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░
рдХрд░реНрдиреЗрд▓ / рдЯреНрд░рдВрдХ / рдмрд╕ / usb / init.inc , рдЬреЛ рд╕рдВрдкреВрд░реНрдг рдЙрдкрддрдВрддреНрд░ рдХрд╛
рд╢реБрднрд╛рд░рдВрдн рдХрд░рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХреЛрдб рдореЗрдВ рдЖрдиреЗ рдХреЗ рджреМрд░рд╛рди рдЬрд▓реНрджреА рдордд рдХрд░реЛ - рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рдЕрднреА рддрдХ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдирд╣реАрдВ рдХреА рд╣реИ рдХрд┐ рдЙрдЪреНрдЪ рд╕реНрддрд░ рдЗрд╕рд╕реЗ рдХреНрдпрд╛ рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд, рд╕рд╛рдорд╛рдиреНрдп рдпреЛрдЬрдирд╛ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рд╡реНрдпрдХреНрддрд┐рдЧрдд рдШрдЯрдХреЛрдВ рдкрд░ рд▓реМрдЯреВрдВрдЧрд╛ред
рд╕рд┐рджреНрдзрд╛рдВрдд рдХреА рдмрд┐рдЯ
рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдХреЛрдИ рднреА USB рдбрд┐рд╡рд╛рдЗрд╕ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЖрдк рдкрд╛рдЗрдк рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ
рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдХреА рдЕрдкрдиреА рд╕рдВрдЦреНрдпрд╛ рд╣реЛрддреА рд╣реИ, 0 рд╕реЗ 15. рддрдХред рджреЛ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБрдУрдВ рдореЗрдВ рдПрдХ рд╣реА рд╕рдВрдЦреНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ рдпрджрд┐ рд╡реЗ рджреЛрдиреЛрдВ рдпреВрдирд┐рдбрд╛рдпрд░реЗрдХреНрд╢рдирд▓ рд╣реЛрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рд╣реЛрд╕реНрдЯ рд╕реЗ рдбрд┐рд╡рд╛рдЗрд╕ рддрдХ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдХреЗ рд▓рд┐рдП рд╣реИ, рдФрд░ рджреВрд╕рд░рд╛ рд╡рд┐рдкрд░реАрдд рджрд┐рд╢рд╛ рдореЗрдВред
рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рдЧрд┐рдпрд░ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЪрд╛рд░ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЕрдВрддрд┐рдо рдмрд┐рдВрджреБ рд╣реИрдВред
- рдирд┐рдпрдВрддреНрд░рдг рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг - рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЫреЛрдЯреЗ (рдЖрдорддреМрд░ рдкрд░) рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг, рдирд┐рдпрдВрддреНрд░рдг рдЖрджреЗрд╢ рдФрд░ рд╕реНрдерд┐рддрд┐ рдЕрдиреБрд░реЛрдзред рдПрдХрдорд╛рддреНрд░ рдкреНрд░рдХрд╛рд░ рдХрд╛ рджреНрд╡рд┐рджрд┐рд╢ рд╡рд┐рдирд┐рдордп: рдпрд╣рд╛рдВ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╣реЛрд╕реНрдЯ рд╕реЗ рдбрд┐рд╡рд╛рдЗрд╕ рддрдХ рдФрд░ рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рд╣реЛрд╕реНрдЯ рддрдХ рджреЛрдиреЛрдВ рдХреЛ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдирд┐рдпрдВрддреНрд░рдг рдЧрд┐рдпрд░ рдореЗрдВ рддреАрди рдЪрд░рдг ( рдЪрд░рдг ) рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдПрдХ рдЕрдиреБрдкрд╕реНрдерд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:
- рд╕реЗрдЯрдЕрдк рдЪрд░рдг рд╣реЛрд╕реНрдЯ рд╕реЗ рдбрд┐рд╡рд╛рдЗрд╕ рддрдХ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдкреНрд░рд╛рд░реВрдк рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ 8 рдмрд╛рдЗрдЯреНрд╕ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЗрди рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рдбреЗрдЯрд╛ рдХреА рджрд┐рд╢рд╛ рдФрд░ рд▓рдВрдмрд╛рдИ рд╢рд╛рдорд┐рд▓ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рд╛рд░реВрдк рдФрд░ рдорд╛рдирдХ рдЕрдиреБрд░реЛрдз рдореБрдЦреНрдп USB рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИрдВ, рдФрд░ рдмрд╛рдж рдореЗрдВ рдореИрдВ рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ред
- рдбреЗрдЯрд╛ рдЪрд░рдг (рдЕрдиреБрдкрд╕реНрдерд┐рдд рдпрджрд┐ рдбреЗрдЯрд╛ рдХреА рд▓рдВрдмрд╛рдИ рд╢реВрдиреНрдп рд╣реИ) рдкрд┐рдЫрд▓реЗ рдЪрд░рдг рдореЗрдВ рдЗрдВрдЧрд┐рдд рджрд┐рд╢рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред
- рд╕реНрдерд┐рддрд┐ рдЪрд░рдг рд╡рд┐рдкрд░реАрдд рджрд┐рд╢рд╛ рдореЗрдВ рд╕рдВрдХреЗрдд рджреЗрддрд╛ рд╣реИ рдЬреЛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╕рдлрд▓рддрд╛ рдХрд╛ рд╕рдВрдХреЗрдд рд╣реИред
рдХрд┐рд╕реА рднреА USB рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рдирдВрдмрд░ 0 рдХреЗ рд╕рд╛рде рдПрдХ рдХрдВрдЯреНрд░реЛрд▓ рдПрдВрдбрдкреЙрдЗрдВрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП: рдЗрд╕рдХреА рдорджрдж рд╕реЗ, USB рдЗрдВрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рдЬрд╛рдирдХрд╛рд░реА ("рдХрд┐рд╕ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рд▓реЛрдб рдХрд░рдирд╛ рд╣реИ") рдХреЛ рдкрд╣рдЪрд╛рдирддрд╛ рд╣реИ рдФрд░ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд░рддрд╛ рд╣реИред рд▓рдЧрднрдЧ рд╕рднреА (рдпрджрд┐ рд╕рднреА рдирд╣реАрдВ) рдЙрдкрдХрд░рдгреЛрдВ рдореЗрдВ рдПрдХ рдирд┐рдпрдВрддреНрд░рдг рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рд╣реИ, рдЬреЛ рд╕рдВрднрд╡рддрдГ, рдбрд┐рд╡рд╛рдЗрд╕-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рднреА рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИред - рдбреЗрдЯрд╛ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг (рдереЛрдХ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг) ред рдореБрдЦреНрдп "рд╡рд░реНрдХрд╣реЙрд░реНрд╕" рдЬрдм рдмрд╣реБрдд рдЕрдзрд┐рдХ рдбреЗрдЯрд╛ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рд╡реЗ рдмрд┐рдирд╛ рд╡рд┐рд░реВрдкрдг рдХреЗ рдкрд╣реБрдВрдЪрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрддрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХрд┐рддрдирд╛ рд╕рдордп рд▓рдЧреЗрдЧрд╛ - рдлреНрд▓реИрд╢ рдбреНрд░рд╛рдЗрд╡, рдкреНрд░рд┐рдВрдЯрд░ рдЖрджрд┐ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдлреНрд▓реИрд╢ рдбреНрд░рд╛рдЗрд╡ рдореЗрдВ рддреАрди рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рд╣реИрдВ - рдПрдХ рдЕрдирд┐рд╡рд╛рд░реНрдп рд╢реВрдиреНрдп рдирд┐рдпрдВрддреНрд░рдг рдФрд░ рджреЛ рджрд┐рд╢рд╛рдУрдВ рдореЗрдВ рдбреЗрдЯрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдХреЗ рд▓рд┐рдП рджреЛред
- рдмреАрдЪ-рдмреАрдЪ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдереЛрдбрд╝рд╛ рдбреЗрдЯрд╛ рд╣реЛрдиреЗ рдкрд░ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдордп рдореЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП - рдЪреВрд╣реЗ, рдХреАрдмреЛрд░реНрдбред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдорд╛рдЙрд╕ рдореЗрдВ рджреЛ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рд╣реЛрддреЗ рд╣реИрдВ - рдПрдХ рдЕрдирд┐рд╡рд╛рд░реНрдп рд╢реВрдиреНрдп рдирд┐рдпрдВрддреНрд░рдг рдФрд░ рдкреНрд░рддреНрдпреЗрдХ 10 рдорд┐рд▓реАрд╕реЗрдХрдВрдб (рдЕрдзрд┐рдХ рдмрд╛рд░) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╡реНрдпрд╡рдзрд╛рди; рдЖрд╡рд╢реНрдпрдХ рдЕрдВрддрд░рд╛рд▓ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдХреА рдПрдХ рд╕рдВрдкрддреНрддрд┐ рд╣реИ, рдпрд╣ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
- Isochronous рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг ред рдПрдХрдорд╛рддреНрд░ рдкреНрд░рдХрд╛рд░ рдЬреЛ рдбреЗрдЯрд╛ рд╡рд┐рддрд░рдг рдХреА рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред рдмрд╣реБрдд рдЕрдзрд┐рдХ рдбреЗрдЯрд╛ рд╣реЛрдиреЗ рдкрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдордп рдореЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП, рд▓реЗрдХрд┐рди рдбреЗрдЯрд╛ рд╣рд╛рдирд┐ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ - рдорд▓реНрдЯреАрдореАрдбрд┐рдпрд╛: рд╡реЗрдмрдХреИрдо, рдпреВрдПрд╕рдмреА рд╕реНрдкреАрдХрд░ред
USB рдмрд╕ рдкрд░ рд╕рдордп рдХреЛ
рдлреНрд░реЗрдо рдпрд╛
рдорд╛рдЗрдХреНрд░реЛрдлреНрд░реЗрдо рдореЗрдВ рдорд╛рдкрд╛ рдЬрд╛рддрд╛ рд╣реИред рдлрд╝реНрд░реЗрдо USB1 рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдП, рдПрдХ рдлреНрд░реЗрдо - рдПрдХ рдорд┐рд▓реАрд╕реЗрдХрдВрдбред рдорд╛рдЗрдХреНрд░реЛрдлрд╝реНрд░реЗрдо USB2 рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдП, рдПрдХ рдлреНрд░реЗрдо рдореЗрдВ 8 рдорд╛рдЗрдХреНрд░реЛрдлрд╝реНрд░реЗрдо рд╣реИрдВред USB рдЕрд╡рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдХреЗ рдмреАрдЪ рдЕрдиреБрд░реЛрдзрд┐рдд рд╕рдордп рдЕрдВрддрд░рд╛рд▓ рдХреА рдЧрд╛рд░рдВрдЯреА рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ (рдорд╛рдЗрдХреНрд░реЛ) рдлрд╝реНрд░реЗрдореЛрдВ рдкрд░ рд░реБрдХрд╛рд╡рдЯ рдФрд░ рд╕рдордХрд╛рд▓рд┐рдХ рд╕рдВрдЪрд░рдг рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рд╣реИред рдпреЛрдЬрдирд╛ рдореЗрдВ 90% рд╕реЗ рдЕрдзрд┐рдХ рдлреНрд░реЗрдо рдпрд╛ 80% рд╕реЗ рдЕрдзрд┐рдХ рдорд╛рдЗрдХреНрд░реЛрдлреНрд░реЗрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рдирд╣реАрдВ рд╣реИред рд╢реЗрд╖ рд╕рдордп (рдХрдо рд╕реЗ рдХрдо 10% / 20%, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЕрдзрд┐рдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдпрджрд┐ рд╕рднреА рд╕рдордп рдХреА рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рд╣реИ) рд╕рдХреНрд░рд┐рдп рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рд╕рд╛рд░рдгреЛрдВ рджреНрд╡рд╛рд░рд╛ рдХрдмреНрдЬрд╛ рдХрд░ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░, рдЕрд╡рд╢рд┐рд╖реНрдЯ рд╕рд┐рджреНрдзрд╛рдВрдд рджреНрд╡рд╛рд░рд╛, рдбреЗрдЯрд╛ рд╕рд░рдгрд┐рдпреЛрдВ рдХрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рдгред
рдЪреИрдирд▓ рд╕рдорд░реНрдерди рд╕реНрддрд░
рдХрд░реНрдиреЗрд▓ / рдЯреНрд░рдВрдХ / рдмрд╕ / usb / pip.inc рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЪреИрдирд▓ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╢рд╛рдорд┐рд▓ рд╣реИред рдПрдХ рдХрд╛рдлреА рд╡рд┐рд╕реНрддреГрдд рджрд╕реНрддрд╛рд╡реЗрдЬ
рдХрд░реНрдиреЗрд▓ / рдЯреНрд░рдВрдХ / рдбреЙрдХреНрд╕ / usbapi.txt рдореЗрдВ рд╣реИ ред рдЕрдм 4 рдХрд╛рд░реНрдп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рд╣реИрдВред рдЙрдирдореЗрдВ рд╕реЗ рдкрд╣рд▓реЗ рджреЛ:
- USBOpenPipe рдЪреИрдирд▓ рдУрдкрди рдлрдВрдХреНрд╢рди, рд╕реЛрд░реНрд╕ рдХреЛрдб рдореЗрдВ
usb_open_pipe
ред рдпрд╣ рдЗрдирдкреБрдЯ рд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рдЦреЛрд▓реЗ рдЧрдП рдЪреИрдирд▓ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдпрд╣ рдбрд┐рд╡рд╛рдЗрд╕ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдХреЙрдкреА рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ USB рдмрд╕ рдкрд░ рдЙрд╕рдХрд╛ рд╕рдордиреНрд╡рдп рдФрд░ рдирдП рдЪреИрдирд▓ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдФрд░ рдирдП рдЪреИрдирд▓ рдХреЗ рд╣реИрдВрдбрд▓ рдпрд╛ рддреНрд░реБрдЯрд┐ рдкрд░ рд╢реВрдиреНрдп рджреЗрддрд╛ рд╣реИред рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдпрд╣ рд╕рдВрднрд╛рд▓ рдХреНрдпрд╛ рд╣реИред - USBClosePipe рдЪреИрдирд▓ рдХреНрд▓реЛрдЬ рдлрдВрдХреНрд╢рди, рд╕реЛрд░реНрд╕ рдХреЛрдб рдореЗрдВ
usb_close_pipe
ред рдЗрд╕рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдФрд░ рдПрдХрдорд╛рддреНрд░ рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛рдлреА рд╕реНрдкрд╖реНрдЯ рд╣реИред
рдЪреИрдирд▓ рд╕рдорд░реНрдерди рд╕реНрддрд░ рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рдЬреБрдбрд╝реЗ рд╕рднреА рдЪреИрдирд▓реЛрдВ рдХреЛ рдмрдВрдж рдХрд░рдХреЗ, рдбрд┐рд╡рд╛рдЗрд╕ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдШрдЯрдирд╛ рдХреЛ рднреА рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИред рддреЛ рдЪреИрдирд▓ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдмрдВрдж рдХрд░рдирд╛ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИред рдЪреМрдХрд╕ рдкрд╛рдардХ рдпрд╣рд╛рдБ рдЖрдХреНрд░реЛрд╢ рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ: "рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдЪреИрдирд▓ рдЕрдЪрд╛рдирдХ рдЕрдкрдиреЗ рдЖрдк рдмрдВрдж рд╣реЛ рд╕рдХрддрд╛ рд╣реИ?" рд▓реЗрдХрд┐рди рдЪрд┐рдВрддрд╛ рди рдХрд░реЗрдВ - рдореМрдЬреВрджрд╛ рд╕реНрддрд░ рдкрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдбрд┐рд╡рд╛рдЗрд╕ рд╢рдЯрдбрд╛рдЙрди рдЗрд╡реЗрдВрдЯ рднреА "рдЕрдк" рдкреНрд░рд╕рд╛рд░рд┐рдд рд╣реЛрддрд╛ рд╣реИред рдЪреИрдирд▓ рдЕрдВрдд рдореЗрдВ рд╕рднреА рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╣реА рдбрд┐рд╡рд╛рдЗрд╕ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдШрдЯрдирд╛ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдореМрдХрд╛ рд╣реЛрдЧрд╛ред рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ, рдЪреИрдирд▓ рдХреЗ рд╣реИрдВрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдо рд╕реЗ рдХрдо рддрдм рддрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рд╣реИрдВрдбрд▓рд░ "рдХрд╛рдо рдЦрддреНрдо" рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдбреНрд░рд╛рдЗрд╡рд░ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ DeviceDisconnected рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЕрд╕рд▓реА рдирд╛рдо рдХреБрдЫ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ - рдбреНрд░рд╛рдЗрд╡рд░ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рдкреЙрдЗрдВрдЯрд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджреЛ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдореБрдЭреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдкреНрд░рддреНрдпреЗрдХ рдЪреИрдирд▓ рдХреА рдЕрдкрдиреА рдкреНрд░рд╕рд╛рд░рдг
рдХрддрд╛рд░ рд╣реЛрддреА рд╣реИ ред рдПрдХ рдХрддрд╛рд░ рдореЗрдВ рдПрдХ рд╕рдордп рдореЗрдВ рдХрдИ рдкреНрд░рд╕рд╛рд░рдг рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдирдореЗрдВ рд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рд╕рдХреНрд░рд┐рдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ - рд╡рд╣ рдЬреЛ рдХрддрд╛рд░ рдХреЗ рдкреНрд░рдореБрдЦ рдореЗрдВ рд╣реИред рд╕рдХреНрд░рд┐рдп рд╣рд╕реНрддрд╛рдВрддрд░рдг рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╣реА рдЕрдЧрд▓рд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рд╢реБрд░реВ рд╣реЛрдЧрд╛ред рдпрджрд┐ рдХреЛрдИ рд╣рд╕реНрддрд╛рдВрддрд░рдг рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ, рддреЛ рдХрддрд╛рд░ рдмрдВрдж рд╣реЛ рдЬрд╛рдПрдЧреАред рд╣рдореЗрдВ рдХрддрд╛рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ? рджрдХреНрд╖рддрд╛ рдХреЗ рд▓рд┐рдП: рдкреВрд░реНрдг рдХрд┐рдП рдЧрдП рд╣рд╕реНрддрд╛рдВрддрд░рдг рдХреЗ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдХреБрдЫ рд╕рдордп рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ, рдореЗрдЬрдмрд╛рди рдирд┐рдпрдВрддреНрд░рдХ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╣реИрдВрдбрд▓рд░ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕ рдмреАрдЪ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВред рд╡рд┐рднрд┐рдиреНрди рдЪреИрдирд▓реЛрдВ рдХреА рдХрддрд╛рд░реЗрдВ рд╕реНрд╡рддрдВрддреНрд░ рд╣реИрдВ, рд╡рд┐рднрд┐рдиреНрди рдЪреИрдирд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
- USBNormalTransferAsync рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдлрд╝рд░ рдлрд╝рдВрдХреНрд╢рди, рдЬрд┐рд╕реЗ рд╕реЛрд░реНрд╕ рдХреЛрдб рдореЗрдВ
usb_normal_transfer_async
рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдПрдХ рд╣реА рдмрд╛рд░ рдореЗрдВ рджреЛ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЯреНрд░рд╛рдВрд╕рдлрд╝рд░ рдкрд░реЛрд╕рддрд╛ рд╣реИ: рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдФрд░ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдЯреНрд░рд╛рдВрд╕рдлрд░ред рджреЛрдиреЛрдВ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рдкреЙрдЗрдВрдЯрд░ + рд▓рдВрдмрд╛рдИ рдХреЗ рд░реВрдк рдореЗрдВ рдЯреНрд░рд╛рдВрд╕рдорд┐рд╢рди рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдХреЛ рд╕реНрд╡рдпрдВ рдЬрд╛рдирдирд╛ рд╣реЛрдЧрд╛, USBOpenPipe рджреНрд╡рд╛рд░рд╛ рд▓реМрдЯрд╛рдП рдЧрдП рд╣реИрдВрдбрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдЪреИрдирд▓, рдФрд░ рдХреБрдЫ рдЭрдВрдбреЗ; рдЕрдм рддрдХ, рдХреЗрд╡рд▓ рдПрдХ рдзреНрд╡рдЬ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рдореЗрдЬрдмрд╛рди рддрдХ рдХреА рджрд┐рд╢рд╛ рдореЗрдВ рдЫреЛрдЯреЗ рдкреНрд░рд╕рд╛рд░рдг рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдпрд╛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рддрд╛ рд╣реИред рджрд┐рд╢рд╛ рдХреЛ рд╕реНрд╡рдпрдВ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ: рдпрд╣ рдЪреИрдирд▓ рдЦреЛрд▓рдиреЗ рдХреЗ рд╕рдордп рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреНрд░рддреНрдпрдп "Async" рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдХреЗрд╡рд▓ рдЯреНрд░рд╛рдВрд╕рдорд┐рд╢рди рдХреЛ рдХрддрд╛рд░ рдореЗрдВ рд░рдЦрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдпрд╣ рддреБрд░рдВрдд рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рддрд╛ рд╣реИ; рдЬрдм рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдкреВрд░реНрдг рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ - рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд╡рд┐рдпреЛрдЧ рдХреЗ рдХрд╛рд░рдг рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ, рдЕрд╕рдлрд▓ рдпрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд░рджреНрдж рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдПрдХ рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛, рдПрдХ рдкреЙрдЗрдВрдЯрд░ рдЬрд┐рд╕реЗ USBNormalTransferAsync рддрд░реНрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рджреНрд╡рд╛рд░рд╛ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдлрд╝рдВрдХреНрд╢рди рдкреЙрдЗрдВрдЯрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдордирдорд╛рдирд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред - USBControlTransferAsync рдирд┐рдпрдВрддреНрд░рдг рд╣рд╕реНрддрд╛рдВрддрд░рдг рдлрд╝рдВрдХреНрд╢рди , рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ
usb_control_async
рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдкрд┐рдЫрд▓реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рдорд╛рди рд╣реИ - рд╕реЗрдЯрдЕрдк рдЪрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ 8-рдмрд╛рдЗрдЯ рдкреЙрдЗрдВрдЯрд░ред рджрд┐рд╢рд╛ рдЕрднреА рднреА рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рдЕрдиреНрдп рдХрд╛рд░рдг рд╕реЗ: рдЗрд╕реЗ рд╕реЗрдЯрдЕрдк рдЪрд░рдг рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд╕реЗ рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИред рдХрдбрд╝рд╛рдИ рд╕реЗ рдмреЛрд▓рддреЗ рд╣реБрдП, рдбреЗрдЯрд╛ рдХреА рд▓рдВрдмрд╛рдИ рдХреЛ рднреА рдЙрд╕реА рдХрд╛рд░рдг рд╕реЗ рдЫреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЪреМрдХрд╕ рдкрд╛рдардХ рдиреЗ рдирд┐рд╕реНрд╕рдВрджреЗрд╣ рдХрд╛рд░реНрдпреЛрдВ рдХреА рдХрдореА рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рд╣реИред рдореИрдВ рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
рдХрд░реНрдиреЗрд▓ / рдЯреНрд░рдВрдХ / рдмрд╕ / usb / рдЕрдиреБрд╕реВрдЪрдХред C рдлрд╝рд╛рдЗрд▓ рднреА рдЪреИрдирд▓ рд╕рдорд░реНрдерди рд╕реНрддрд░ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ; рд╡рд╣ рдЧрд┐рдпрд░реНрд╕ рд╢реЗрдбреНрдпреВрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ рдЬреЛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╕рдордп рдХреЗ рдкреНрд░рддрд┐ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╣реИрдВред
рддрд╛рд░реНрдХрд┐рдХ рдЙрдкрдХрд░рдг рд╕реНрддрд░
рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рд╕рд╛рд░рд╛рдВрд╢ рдореЗрдВ, рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдХрд╣рд╛ рдерд╛ рдХрд┐ рдХрд┐рд╕реА рднреА рдпреВрдПрд╕рдмреА рдбрд┐рд╡рд╛рдЗрд╕ рдореЗрдВ рдПрдХ рд╢реВрдиреНрдп рдирд┐рдпрдВрддреНрд░рдг рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдкреЛрд▓ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд░рддрд╛ рд╣реИред
рдХрд░реНрдиреЗрд▓ / рдЯреНрд░рдВрдХ / рдмрд╕ / usb / рдкреНрд░реЛрдЯреЛрдХреЙрд▓.inc рдлрд╝рд╛рдЗрд▓ рдЪреИрдирд▓ рд╕рдорд░реНрдерди рдХреЗ рд╕реНрддрд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмрд╕ рдпрд╣реА рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рд╕реНрддрд░ рдХрд╛ рдкрд░рд┐рдгрд╛рдо: рдПрдХ рд▓реЛрдб рдХрд┐рдП рдЧрдП рдбрд┐рд╡рд╛рдЗрд╕ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрд▓ рдорд┐рд▓рд╛ рдЬреЛ
AddDevice рдХреЗ рд░реВрдк рдореЗрдВ рд╣реИред рдлрд┐рд░ рд╕рдм рдХреБрдЫ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рд╣рд╛рде рдореЗрдВ рд╣реИред
AddDevice рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдкрд╣рд▓рд╛ рддрд░реНрдХ рдЪреИрдирд▓ рдХреЛ рд╢реВрдиреНрдп рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдкрд░ рдЦреЛрд▓рдиреЗ рдХрд╛ рд╣реИрдВрдбрд▓ рд╣реИред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдбреНрд░рд╛рдЗрд╡рд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдЪреИрдирд▓ рдЦреЛрд▓ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреА рдЙрд╕реЗ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд╛рде рд╢реВрдиреНрдп рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рднреА рдХрд░рддреЗ рд╣реИрдВред
AddDevice рдХрд╛ рд░рд┐рдЯрд░реНрди рдорд╛рди рдпрд╛ рддреЛ рддреНрд░реБрдЯрд┐ рдкрд░ рд╢реВрдиреНрдп рд╣реИ, рдпрд╛ рдПрдХ рдЕрдореВрд░реНрдд рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИ рдХрд┐ USB рдЕрд╡рд╕рдВрд░рдЪрдирд╛, рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд┐рдП рдмрд┐рдирд╛, рд╢реВрдиреНрдп рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ
рдбрд┐рд╡рд╛рдЗрд╕рдбрд┐рд╕рдХреЙрди рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдкрд╛рд╕
рднреЗрдЬрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдмрд╛рдд рдХреА рдереАред
AddDevice рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдиреНрдп рджреЛ рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
, рдореБрдЭреЗ рдХреБрдЫ рдФрд░ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдПрдХ рднреМрддрд┐рдХ рдЙрдкрдХрд░рдг рдХрдИ
рдЗрдВрдЯрд░рдлреЗрд╕ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛
рд╣реИ рдЬреЛ рдПрдХ рдбрд┐рдЧреНрд░реА рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдкреНрд░рддреНрдпреЗрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдХрд╛ рдЕрдкрдирд╛ рд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИред рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг рдХрдИ рдкреАрдПрд╕ / 2 рд╕реЗ рдпреВрдПрд╕рдмреА рдПрдбреЗрдкреНрдЯрд░ рд╣реИрдВ рдЬреЛ рдПрдХ рдорд╛рдЙрд╕ рдФрд░ рдХреАрдмреЛрд░реНрдб рдХреЗ рд▓рд┐рдП рджреЛ рдЗрдирдкреБрдЯ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ; рдРрд╕рд╛ USB рдбрд┐рд╡рд╛рдЗрд╕ рджреЛ рдЕрд╕рдВрдмрджреНрдз рдЗрдВрдЯрд░рдлреЗрд╕ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдПрдХ рдХрдо рд╕реНрдкрд╖реНрдЯ, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рдЙрджрд╛рд╣рд░рдг: рд╡рд┐рд╢реЗрд╖ рдмрдЯрди рд╡рд╛рд▓реЗ рдпреВрдПрд╕рдмреА-рдХреАрдмреЛрд░реНрдб рдХреЛ рдЕрдХреНрд╕рд░ рджреЛ рд╕реНрд╡рддрдВрддреНрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдПрдХ - рдорд╛рдирдХ рдмрдЯрди рдХреЗ рд╕рд╛рде рдПрдХ рдХреАрдмреЛрд░реНрдб, рджреВрд╕рд░рд╛ - рдЕрддрд┐рд░рд┐рдХреНрдд рдмрдЯрдиред
USB рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рд╡рд┐рднрд┐рдиреНрди
рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдХреЗ рдЕрдиреБрд░реЛрдз рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ,
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ ред рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдХреЗ рдЬрд╡рд╛рдм рдореЗрдВ, рдбрд┐рд╡рд╛рдЗрд╕ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕реЗ рдЬреБрдбрд╝реЗ рд╕рднреА рдЗрдВрдЯрд░рдлреЗрд╕ рдФрд░ рд╕рднреА рд╕рдорд╛рдкрди рдмрд┐рдВрджреБрдУрдВ рдХреЗ рд▓рд┐рдП рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рд╕рд╣рд┐рдд рдХрдИ рд╕рдВрдмрдВрдзрд┐рдд рдЬрд╛рдирдХрд╛рд░реА рднреА рд▓реМрдЯрд╛рддрд╛ рд╣реИред рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рд╡рд░реНрдгрдирдХрд░реНрддрд╛ рдореЗрдВ рдПрдХ рдЪреИрдирд▓ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИред
AddDevice рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рджреВрд╕рд░рд╛ рддрд░реНрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝реЗ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреЗрддрдХ рд╣реИ, рдЬреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ; рдЗрд╕рдХрд╛ рдПрдХ рдХреНрд╖реЗрддреНрд░ рдбреЗрдЯрд╛ рдХреА рдХреБрд▓ рд▓рдВрдмрд╛рдИ рд╣реИред
AddDevice рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рддреАрд╕рд░рд╛ рддрд░реНрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИрдВрдбрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреЗрддрдХ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдбреНрд░рд╛рдЗрд╡рд░ рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред
рдпрджрд┐ рдХреЛрдИ рдбрд┐рд╡рд╛рдЗрд╕ рдХрдИ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рддрд╛рд░реНрдХрд┐рдХ рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рд╕реНрддрд░ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ - рдпрд╛ рдХрдИ рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЛ - рдХрдИ рдмрд╛рд░ рдХреЙрд▓ рдХрд░реЗрдЧрд╛ред рдПрдХрд▓
AddDevice рдХреЙрд▓ рдХрд╛ рджрд╛рдпрд░рд╛ рдЙрд╕ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рд╕реЗ
рдирд┐рдХрд▓рддрд╛ рд╣реИ рдЬреЛ рдЗрд╕реЗ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЕрдЧрд▓реЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдпрд╛ рдбреЗрдЯрд╛ рдХреЗ рдЕрдВрдд рддрдХ; рдЗрд╕ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╕рднреА рд╕рдорд╛рдкрди рдмрд┐рдВрджреБрдУрдВ рдХреЗ рд╡рд░реНрдгрдирдХрд░реНрддрд╛ рдЗрд╕ рдЕрдВрддрд░рд╛рд▓ рдкрд░ рд╕реНрдерд┐рдд рд╣реИрдВред
рдбрд┐рд╡рд╛рдЗрд╕ рдбреНрд░рд╛рдЗрд╡рд░
рдпрд╣ USB рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдореЗрдВ рдЙрдЪреНрдЪрддрдо рд╕реНрддрд░ рд╣реИред рдбрд┐рд╡рд╛рдЗрд╕ рдбреНрд░рд╛рдЗрд╡рд░ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡рд╛рдВрдЫрд┐рдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪреИрдирд▓ рд╕рдорд░реНрдерди рд╕реНрддрд░ рдПрдкреАрдЖрдИ рдФрд░ рддрд╛рд░реНрдХрд┐рдХ рдбрд┐рд╡рд╛рдЗрд╕ рд╕реНрддрд░ рджреНрд╡рд╛рд░рд╛ рдПрдХрддреНрд░рд┐рдд рдХреА рдЧрдИ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЗ рдмреАрдЪ,
рдХрд░реНрдиреЗрд▓ / рдЯреНрд░рдВрдХ / рдмрд╕ / usb / hub.inc рд╣рдм рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рдЗрд╕ рддрдереНрдп рд╕реЗ рдкреНрд░рддрд┐рд╖реНрдард┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдкрд╣рд▓реБрдУрдВ рдореЗрдВ рдпрд╣ рдореЗрдЬрдмрд╛рди рдирд┐рдпрдВрддреНрд░рдХ рд╕рдорд░реНрдерди рдХреЗ рд╕реНрддрд░ рдХреЗ рдХрд░реАрдм рд╣реИ рдФрд░ рдпреВрдПрд╕рдмреА рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХрд╛ рдПрдХ рдЕрднрд┐рдиреНрди рдЕрдВрдЧ рд╣реИред USB рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЗрдХрд╛рдИ -
рд░реВрдЯ рд╣рдм рдореЗрдВ USB рдкреЛрд░реНрдЯ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рдореЗрдЬрдмрд╛рди рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдЕрд▓рдЧ рдХрд░рддрд╛ рд╣реИ; рд░реВрдЯ рд╣рдм рдореЗрдВ рдЕрдиреНрдп рд╕реНрддрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рд╣рдм рдХреЗ рд╕рд╛рде рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдореМрд▓рд┐рдХ рд░реВрдк рд╕реЗ рдЕрд▓рдЧ рд╣реИрдВред
рд╣рдм рд╕рдкреЛрд░реНрдЯ рдХреЛрдб рдЗрдВрдЯрд░рдлрд╝реЗрд╕: рдЬрдм рдбрд┐рд╡рд╛рдЗрд╕ рдХрдиреЗрдХреНрдЯ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдХреЛрдб рдирдП рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реЛрд╕реНрдЯ рдХрдВрдЯреНрд░реЛрд▓рд░ рд╕рдкреЛрд░реНрдЯ рдХреЛрдб рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ; рдЬрдм рдбрд┐рд╡рд╛рдЗрд╕ рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдХреЛрдб рдЗрд╕ рдЪреИрдирд▓ рд╕рдорд░реНрдерди рд╕реНрддрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ; рддрд╛рд░реНрдХрд┐рдХ рдбрд┐рд╡рд╛рдЗрд╕ рд╕реНрддрд░ рдХреЗ рд▓рд┐рдП, рдХреЛрдб
AddDevice +
DeviceDisconnected рдлрд╝рдВрдХреНрд╢рдВрд╕ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рдХреНрд░рдорд╢рдГ
usb_hub_init
рдФрд░
usb_hub_disconnect
рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рдирдП рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рдкреЛрд░реНрдЯ рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЪреВрд╣реЗ рдФрд░ рдХреАрдмреЛрд░реНрдб
рдХрд░реНрдиреЗрд▓ / рдЯреНрд░рдВрдХ / рдбреНрд░рд╛рдЗрд╡рд░ / usbhid.asm рдбреНрд░рд╛рдЗрд╡рд░ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВред рдлрд╝реНрд▓реИрд╢ рдбреНрд░рд╛рдЗрд╡рд░
рдХрд░реНрдиреЗрд▓ / рдЯреНрд░рдВрдХ / рдбреНрд░рд╛рдЗрд╡рд░ / usbstor.asm рдбреНрд░рд╛рдЗрд╡рд░ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИред
рд╣реЛрд╕реНрдЯ рдХрдВрдЯреНрд░реЛрд▓рд░ рд╕рдкреЛрд░реНрдЯ рдХреЛрдб рдЗрдВрдЯрд░рдлрд╝реЗрд╕
рдЕрдВрдд рдореЗрдВ, рдореИрдВ рдореЗрдЬрдмрд╛рди рдирд┐рдпрдВрддреНрд░рдХ рд╕рд╣рд╛рдпрддрд╛ рдХреЛрдб рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдкреВрд░реЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдЕрдиреНрдп рд╕реНрддрд░реЛрдВ рдкрд░ рд╕рдордЭрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реВрдВред рдЬрдм рдПрдХ рдирдпрд╛ рдЙрдкрдХрд░рдг рдЬреБрдбрд╝рд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рддрд╛рд░реНрдХрд┐рдХ рдЙрдкрдХрд░рдг рд╕реНрддрд░ рдХреЗ
usb_new_device
рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣рд╛рдВ рдореБрдЭреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:
usb_new_device
рдЪреИрдирд▓ рдХреЛ рд╢реВрдиреНрдп рдмрд┐рдВрджреБ рдкрд░ рдЦреЛрд▓рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдЧрд╛ред рд▓реЗрдХрд┐рди рдЪреИрдирд▓ рдЙрджреНрдШрд╛рдЯрди рд╕рдорд╛рд░реЛрд╣ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЦреБрд▓реЗ рдЪреИрдирд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬрд╣рд╛рдВ рд╕реЗ рдпрд╣ рдбрд┐рд╡рд╛рдЗрд╕ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдХреЙрдкреА рдХрд░рддрд╛ рд╣реИред рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореЗрдЬрдмрд╛рди рдирд┐рдпрдВрддреНрд░рдХ рд╕реНрддрд░ рдПрдХ рдЫрджреНрдо рдЪреИрдирд▓ рдмрдирд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреА рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдпрд╣ рдЙрдкрдХрд░рдг рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХреЗрд╡рд▓ рдлрд╝реАрд▓реНрдб рднрд░рддрд╛ рд╣реИред рдЪреИрдирд▓ рдХреЛ рд╢реВрдиреНрдп рдмрд┐рдВрджреБ рдкрд░ рдЦреЛрд▓рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреВрд░реНрдг-рд╡рд┐рдХрд╕рд┐рдд рдЪреИрдирд▓ рдмрди рдЬрд╛рдПрдЧрд╛ред рдЬрдм рдореЗрдЬрдмрд╛рди рдирд┐рдпрдВрддреНрд░рдХ рдЪреИрдирд▓ рдХреЗ рдЧрд╛рдпрдм рд╣реЛрдиреЗ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЖрддрд╛ рд╣реИ, рддреЛ
usb_pipe_closed
рд╕рдорд░реНрдерди рд╕реНрддрд░ рдХреЗ
usb_pipe_closed
рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реЗрдЯрдЕрдк рдХреЗ рджреМрд░рд╛рди рддрд╛рд░реНрдХрд┐рдХ рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рд╕реНрддрд░ рдЪреИрдирд▓ рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдмрджрд▓рддрд╛ рд╣реИ; рдЬрдм рдореЗрдЬрдмрд╛рди рдирд┐рдпрдВрддреНрд░рдХ рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдкрд░рд┐рд╡рд░реНрддрди рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рддрд╛рд░реНрдХрд┐рдХ рдбрд┐рд╡рд╛рдЗрд╕ рд╕реНрддрд░ рдХреЗ
usb_after_set_address
рдФрд░
usb_after_set_endpoint_size
рд╕реЗ рдПрдХ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВ рдЖрдкрдХреЛ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рддрд╛рд░реНрдХрд┐рдХ рдЙрдкрдХрд░рдг рдХреЗ рд╕реНрддрд░ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдпрд╣ рдХреНрдпреЛрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╣реЛрд╕реНрдЯ рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдп рдФрд░ рджреВрд╕рд░реЗ рдХреЛрдб рд╕реЗ рдХреЙрд▓ рдХрд┐рдП рдЧрдП рд╣реИрдВ рдЬреЛ
usb_hardware_func
рд╕реЗ
usb_hardware_func рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдП рдЧрдП рд╣реИрдВред рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
- рдЪреИрдирд▓ рд╕рдорд░реНрдерди рд╕реНрддрд░ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЪреИрдирд▓реЛрдВ рдФрд░ рдХрддрд╛рд░реЛрдВ рдХреЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпред
- рдмрд╕ рдкрд░ рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рдкрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп, рд╕рд╛рде рд╣реА рд╕рд╛рде рдЪреИрдирд▓ рдкреИрдХреЗрдЯ рдХрд╛ рдЖрдХрд╛рд░, рддрд╛рд░реНрдХрд┐рдХ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд╕реНрддрд░ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рдпреВрдПрд╕рдмреА рдкреЛрд░реНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп: рд▓реЙрдЬрд┐рдХрд▓ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд╕реНрддрд░ рджреНрд╡рд╛рд░рд╛ рд▓реЙрдХ, рд░реАрд╕реЗрдЯ, рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдЬреЛ
usb_new_device
рд▓рд┐рдП рдкреИрд░рд╛рдореАрдЯрд░ рддреИрдпрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ usb_new_device
рдХрд╣рддрд╛ рд╣реИред рдЗрд╕реЗ рджреЛ рд╕реНрдерд╛рдиреЛрдВ рд╕реЗ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ: рд╕рдорд╛рди рд╕реНрддрд░ рд╕реЗ рдФрд░ рд╣рдм рд╕рдорд░реНрдерди рдХреЛрдб рд╕реЗред - рдПрдХ рд╣реА рд╕реНрддрд░ рдХреЗ рдирд┐рдпрдВрддреНрд░рдХ-рдЧреИрд░-рд╡рд┐рд╢рд┐рд╖реНрдЯ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдлрд╝рдВрдХреНрд╢рдиред
рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд╕рднреА рд▓реЗрдЦ
рднрд╛рдЧ 1: рд╕рд╛рдорд╛рдиреНрдп рд░реВрдкрд░реЗрдЦрд╛
рднрд╛рдЧ 2: рдореЗрдЬрдмрд╛рди рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдореВрд▓ рдмрд╛рддреЗрдВрднрд╛рдЧ 3: рд╣реЛрд╕реНрдЯ рдХрдВрдЯреНрд░реЛрд▓рд░ рд╕рдкреЛрд░реНрдЯ рдХреЛрдбрднрд╛рдЧ 4: рдЪреИрдирд▓ рд╕рдорд░реНрдерди рд╕реНрддрд░рднрд╛рдЧ 5: рддрд╛рд░реНрдХрд┐рдХ рдЙрдкрдХрд░рдг рд╕реНрддрд░рднрд╛рдЧ 6: рд╣рдм рдбреНрд░рд╛рдЗрд╡рд░PS рдЕрдЧрд░ рдХрд┐рд╕реА рдФрд░ рдХреЛ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ: рд╣рдо рдЕрдкрдиреЗ рд╕рдорд░ рдХреЛрдб рдХреЛ рдЦрд░реНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдкреИрд╕реЗ рдХрд┐рдХрд╕реНрдЯрд╛рд░реНрдЯрд░ рдкрд░ рдЬрдорд╛ рдХрд░рддреЗ рд╣реИрдВред рдЕрдм рддрдХ, 65% рдПрдХрддреНрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдзрди рдЙрдЧрд╛рд╣рдиреЗ рд╡рд╛рд▓рд╛ 31 рдордИ (рдХрд▓) рдХреЛ рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред рд▓реЗрдЦ:
habrahabr.ru/post/180197