SILICON LABS USB Pūrere Tāpae
![]()
Whakatakotoranga
- Putanga USB: 1.5.1
- Te Ra Whakaputa: Hurae 21, 2025
- Putanga SDK ngawari: 2025.6.1
Ka mutu te huaview
Ko te kohinga taputapu USB na Silicon Labs e whakarato ana i nga hononga USB maha me te ngawari ki te whakamahi mo nga kaupapa IoT, e whakahaere ana i te whakawhitiwhiti korero i waenga i nga kaitukatuka whatunga me nga kaihautu.
Ngā āhuatanga
- Pupuri taputapu USB pai
- He pai mo nga kaupapa IoT
- Tautoko mo te whakawhitiwhiti korero i waenga i nga kaitukatuka whatunga me nga kaihautu
Whirihoranga Pūrere USB
Whakaritehia nga tautuhinga taputapu USB kia rite ki o whakaritenga kaupapa ma te korero ki te waahanga Whakaritenga Pūrere USB i roto i nga tuhinga.
He Aratohu Papatono Pūrere USB
Whaia te Aratohu Papatono Pūrere USB kia mohio ai koe me pehea te hotaka me te taunekeneke ki te taputapu USB mo nga momo tono.
Karaehe Pūrere USB
Ko te waahanga o nga Karaehe Pūrere USB he nui akeview o nga karaehe rereke penei i te CDC ACM, HID, MSC SCSI, me te Kaihoko Kaihoko. Whiriwhiria te karaehe e tika ana i runga i to mahi taputapu.
Raparongoā Pūrere USB
Mena ka pa ki a koe etahi take ki te taputapu USB, tirohia te waahanga Raparongoa Pūrere USB mo nga otinga me nga tohutohu patuiro.
Nga Whakatakotoranga me nga waahanga kei rungaview
USB Whirihoranga Pūrere Nekeview
USB Pūrere Papatono Aratohu Neke atuview
Ka mutu nga karaehe o te taputapu USBview CDC ACM Class Overview Ka mutu te akomanga HIDview MSC SCSI Class Overview Ka mutu te karaehe Kaihokoview
![]()
Tuhinga API API USB API Pūrere USB Pūrere USB ACM API a sl_usbd_cdc_ cm_line_coding_t sl_usbd_cdc_acm_callbacks_t Pūrere USB CDC API a sl_usbd_cdc_subcl ss_driver_t USB Pūrere Matua API
sl_usbd_device_config_t sl_usbd_setup_req_t
he sl_usbd_cl ss_driver_t API HID Pūrere USB
sl_usbd_hid_callbacks_t Pūrere USB MSC API
he sl_usbd_msc_subcl ss_driver_t Pūrere USB MSC SCSI API
sl_usbd_msc_scsi_callbacks_t
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
![]()
1/174
Universal Bus Serial USB
he sl_usbd_msc_scsi_lun_ pi
sl_usbd_msc_scsi_lun_info sl_usbd_msc_scsi_lun
API Kaihokohoko Pūrere USB sl_usbd_vendor_callbacks_t
Tuhinga API Raparongoā Pūrere USB
Ka mutuview Microsoft Windows OS USB Kaihautū
Ka mutuview
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
2/174
Ka mutuview
Ka mutuview
Pūrere USB![]()
Ko te USB tetahi o nga hononga whakawhitiwhitinga angitu i roto i te hitori o nga punaha rorohiko, a, ko te paerewa pono mo te hono i nga taputapu rorohiko. Silicon Labs USB Pūrere tāpae he kōwae taputapu USB i hangaia motuhake mō ngā pūnaha tāmau. I hangaia mai i te whenua ki runga ki te kounga o te Silicon Labs, te whakahiato, me te pono, kua haere i roto i te tukanga whakamanatanga kaha ki te u ki te whakatakotoranga USB 2.0. Ko tenei tuhinga e whakaatu ana me pehea te arawhiti, te tiimata me te whakamahi i te putunga Pūrere USB Silicon Labs. Ka whakamaramatia nga momo uara whirihoranga me o raatau whakamahinga. Kei roto hoki he overview o te hangarau, momo momo whirihoranga, tikanga whakatinana, me te exampte iti o te whakamahinga mo ia akomanga e waatea ana.
![]()
Hei awhina i a koe ki te mohio tere ki nga ariā USB, kei roto i nga tuhinga te maha o nga exampte iti o te USB me nga mahi taketake. Ko enei exampKa hoatu e les ki a koe he anga ka taea e koe te hanga taputapu tere. Ko enei exampkei roto ko:
USB-ki-rangatū urutau (Te Akomanga Pūrere Whakawhitiwhiti) Kiore, papapātuhi ranei (Te Akomanga Atanga Tangata) Te taputapu rokiroki tango (Mass Storage Class) Pūrere ritenga (Kaihoko Kaihoko)
E whai ake nei te mutungaview o nga waahanga tuhinga:
Nga Whakatakotoranga me nga Ahuatanga Whirihoranga Pūrere USB Arataki Papatono Pūrere USB Akoranga Pūrere USB
CDC ACM Class HID Class MSC SCSI Class Vendor Class USB Pūrere Raparongoā Rapanga Microsoft Windows OS Kaihautū USB
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
3/174
USB
USB![]()
Putanga USB 1.5.1 Hōngongoi 21, 2025 – Tuku Panui
Putanga SDK ngawari 2025.6.1
Ko te taapu taputapu USB pai a Silicon Labs e tuku ana i nga hononga USB ngawari, ngawari ki te whakamahi mo nga kaupapa IoT, tae atu ki te whakawhitiwhiti korero i waenga i nga kaitukatuka whatunga me nga kaihautu. Paatohia a konei mo nga putanga o mua.
Putanga Whakarapopototanga
Nga waahanga matua | Nga Huringa API | Whakatikanga Bug | Whakahohe Tipi
Nga waahanga matua
Ka huri noa te papaapapa o raro.
Nga Huringa API
Karekau.
Whakatikanga Bug
Karekau.
Whakahohe Tipi
Karekau.
Nga waahanga matua
Nga waahanga hou | Whakarei ake | Nga waahanga kua tangohia | Nga waahanga kua whakakorehia
Nga waahanga hou
Karekau.
Whakapiki
Ka huri noa te papaapapa o raro.
Nga waahanga kua tangohia
Karekau.
Nga Whakaahuatanga kua Tangohia
Karekau.![]()
Nga Huringa API
Nga API Hou | API Whakakē | Kua tangohia nga API | Nga API kua whakakorehia
Nga API Hou
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
4/174
USB
Karekau.
Nga API kua whakarereketia
Karekau.
Nga API kua tangohia
Karekau.
Nga API kua whakakorehia
Karekau.
Whakatikanga Bug
Karekau.
Whakahohe Tipi
Karekau.
Taupānga Example Huringa
Hou Exampiti | Whakarerekē Exampiti | Kua tangohia Exampiti | Kua whakakorea Examples
Hou Examples
Karekau.
Whakakē Examples
Karekau.
Kua tangohia Examples
Karekau.
Kua whakakorea Examples
Karekau.
Te Paanga o nga Huringa Tuku
Tauākī Pānga | Aratohu Hekenga
Tauākī Pānga
Karekau.
Aratohu Hekenga
Karekau.
Nga take me nga here e mohiotia ana
Karekau.
Ma te whakamahi i tenei tuku
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
5/174
USB
He aha kei roto i te Tukunga? | Pūmanawa Hototahi | Tāuta me te Whakamahi | Āwhina me te Urupare
He aha kei roto i te Tukunga?
Taupānga Tāpae Pūrere USB Examples
Pūmanawa Hototahi
Pūmanawa
Simplicity SDK Simplicity Studio Simplicity Commander GCC Ko te GNU Compiler Collection) IAR Taumahi Whakamau mo ARM IAR EWARM
Putanga Hototahi, rereke ranei
2025.6.0 5.11.0 1.18.2 (kua whakaratohia ki a Simplicity Studio) 12.2.1 (kua whakaratohia ki a Simplicity Studio) 9.40.1 (kua whakaratohia ki a Simplicity Studio)
Tāuta me te Whakamahi
Ki te timata i to whanaketanga tirohia to maatau:
He Aratohu Papatono Pūrere USB. Tuhinga API.
Mo nga korero mo te Whakakotahitanga Haumaru Vault, tirohia te Haumaru Vault.
Ki te review Whakamōhiotanga Haumarutanga me te Tohutohu Pūmanawa me te whakahaere i o hiahia whakamohiotanga:
ò Haere ki https://community.silabs.com/. ó Takiuru me o tohu tohu kaute. ô Paatohia to profile icon kei te kokonga matau-runga o te wharangi.
õ Tīpakohia te Whakamōhiotanga mai i te tahua takaiho. ö I roto i te wahanga Whakamöhiotanga, haere ki te ripa Taku Hua Whakamöhiotanga ki te hokiview Tuhinga o mua Haumarutanga me te Pūmanawa
whakamohiotanga
÷ Hei whakahaere i o manakohanga, whakamahia te ripa Whakahaere Whakamōhiotanga hei whakarite ko ēhea whakahōu hua me ngā tohutohu māu
whiwhi.
Mo nga tautuhinga whirihoranga e taunaki ana, tirohia konei.
Ki te ako atu mo te raupaparorohiko i tenei tukunga, rukuhia a maatau tuhinga ipurangi.
Āwhina me te Urupare
Whakapa atu ki te tautoko a Silicon Labs. Hei whakamahi i ta maatau taputapu Uiui AI ki te tiki whakautu, tirohia te mara rapu kei runga ake o tenei wharangi.
Tuhipoka: He whakamatautau a AI.
Tikina te awhina mai i to tatou hapori kaiwhakawhanake.
Kaupapa Whakarewa SDK me te Tiaki
Tirohia ta matou Kaupapahere Whakaputa SDK me te Tiaki.
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
6/174
Ka mutuview
Ka mutuview
Whakatakotoranga
E tutuki ana ki te "Universal Serial Bus specification revision 2.0" Ka whakatinana i te "Atanga Whakamarama Whakamarama Hangarau Hangarau Panui (ECN)" Momo Whakawhiti
Whakahaerehia nga karaehe USB Tutukinga Nui (CDC) Tauira Mana Abstract (ACM) Pūrere Atanga Tangata (HID) Karaehe Rokiroki Papatipu (MSC) Kaihoko-motuhake anga akomanga.
Ngā āhuatanga
Ka taea te tauine ki te whakauru i nga ahuatanga e hiahiatia ana hei whakaiti i te tapuwae mahara Ka tautoko i te tere-katoa (12 Mbit/s) Ka tautoko i nga taputapu hiato (maha-mahi) Ka tautoko i nga taputapu whirihoranga-maha Ka tautoko i nga mahi whakaora hiko USB (whakarewa i te taputapu me te whakaara ano) Whakaotia te whakaurunga o te Mass Storage Class ki te Micrium OS File Kōwae Pūnaha I whakawhanakehia me te paparanga tangohanga CMSIS-RTOS2 kia taea ai te mahi me nga OS rereke. Ka tae mai a Silicon Labs GSDK me nga tauranga FreeRTOS me Micrium OS.
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
7/174
Ka mutuview
Ka mutuview
Whirihoranga Pūrere USB
Ko tenei waahanga e korero ana me pehea te whirihora i te Pūrere USB Silicon Labs. E toru nga roopu o nga tawhā whirihoranga, penei:
Whirihoranga Matua Pūrere USB Whirihoranga Momorongo Pūrere USB Whirihoranga Pūrere USB
Whirihoranga Matua Pūrere USB
Ka taea te whirihora i te Pūrere USB Silicon Labs i te wa whakahiato ma te huinga o #defines kei roto i te sl_usbd_core_config.h file. Ka whakamahia e te Pūrere USB te #defines i te wa e taea ana na te mea ka whakaaehia te rahi o te waehere me te rahi o te raraunga i te wa whakahiato i runga i nga ahuatanga ka taea. Ma tenei ka taea te whakamaumahara panui-anake (ROM) me te mahara-whakauru matapōkere (RAM) tapuwae o Silicon Labs USB Device ki te whakatika i runga i nga whakaritenga o to tono.
Taunaki: Tīmatahia te hātepe whirihoranga me ngā uara taunoa (kua tohua ki te maia).
Ko nga waahanga kei raro nei ka whakaritea i runga i te raupapa o te whirihoranga tauira file, sl_usbd_core_config.h.
Whirihoranga Karaehe Whirihoranga Matua
Whirihoranga Matua
Ripanga – Tautuhinga Whirihoranga Matua o te Pūrere USB
Whakaahuatanga Tonu
Uara Taunoa
SL_USBD_TA SK_STACK_ SIZE
Ka whirihora i te rahi o te puranga i roto i nga paita o te mahi matua USBD
4096
SL_USBD_TA SK_PRIORIT Y
Ka whirihora i te kaupapa matua o te mahi matua USBD. He kaupapa matua tenei a CMSIS-RTOS2.
osPriorityHigh
SL_USBD_A UTO_START _USB_DEVIC E
Ki te whakahohea, ka tiimata aunoa te taputapu USB ina timata te kakano me te 1 mahi matua USBD kua whakaritea mo te wa tuatahi. Mena kua monokia, me waea atu to tono ki te sl_usbd_core_start_device() ina rite ana kia kitea e te kaihautu USB.
SL_USBD_C Te tapeke maha o nga whirihoranga ka taapirihia ma te sl_usbd_add_configuration()
1
ONFIGURATI mahi.
ON_QUANTI
TY
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
8/174
Ka mutuview
Tonu
SL_USBD _INTERF ACE_QU ANTITY
SL_USBD _ALT_INT ERFACE_ QUANTI
TY
SL_USBD _INTERF ACE_GR
OUP_QU
HUITANGA
SL_USBD _DESCRI
PTOR_Q
KOREUTU
SL_USBD _STRING _QUANTI
TY
SL_USBD _OPEN_E NDPOIN TS_QUA NTITY
Whakaahuatanga Ko te tapeke o nga atanga USB hei taapiri mo o whirihoranga katoa. Ka whakawhirinaki nui tenei ki te akomanga e whakamahia ana. Mo etahi atu korero mo te maha o nga atanga e hiahiatia ana e te tauira o te karaehe, tirohia te waahanga "Mea Rauemi mai i te matua" o to akomanga.
Te tapeke o nga atanga rereke USB hei taapiri mo o whirihoranga katoa. Ka whakawhirinaki nui tenei ki te akomanga e whakamahia ana. Me rite, nui ake ranei tenei uara i te SL_USBD_INTERFACE_QUANTITY i nga wa katoa. Mo etahi atu korero mo te maha o nga atanga rereke e hiahiatia ana e te tauira o te karaehe, tirohia te waahanga "Nga Rauemi Hiahia mai i te Core" o to akomanga.
Te tapeke o nga roopu atanga USB ka taapirihia mo o whirihoranga katoa. Ka whakawhirinaki nui tenei ki te akomanga e whakamahia ana. Mo etahi atu korero mo te maha o nga roopu atanga e hiahiatia ana he tauira karaehe, tirohia te waahanga "Nga Rauemi Hiahia mai i te Core" o to akomanga.
Te tapeke o nga kaiwhakaahua Whakamutunga ka taapirihia mo o whirihoranga katoa. Ka whakawhirinaki nui tenei ki te akomanga e whakamahia ana. Mo etahi atu korero mo te maha o nga kaiwhakaahua tohu mutunga e hiahiatia ana e te tauira o te karaehe, tirohia te "Tau o nga pito mutunga" kei te waahanga "Nga Rauemi Hiahia mai i te Maatauranga" o to akomanga. Kia mahara kaore e tika kia whakaarohia nga tohu mutunga i konei. Te tapeke o nga aho USB. Ma te tautuhi i te rahinga ki te kore ka monohia te ahuatanga. Ko te whakakore i tenei ka kore te taputapu e penapena i nga aho whakaahuatanga USB kua tukuna mai i te tono. Ko te tikanga ka kore e taea e te kaihautu te tiki i nga aho whakaahuatanga (penei i te kaihanga me te ingoa hua). Te tapeke o nga pito mutunga tuwhera mo ia whirihoranga. Ko te taputapu e hiahia ana kia rua nga pito mutunga tuwhera mo nga whakawhitinga mana, engari me tapiri ano e koe nga pito mutunga o te akomanga kua whakamahia. Mo etahi atu korero mo te maha o nga waahi tuwhera e hiahiatia ana e te tauira o te karaehe, tirohia te "Tau o nga waahi mutunga" i te waahanga "Nga Rauemi Hiahia mai i te Maatauranga" o to akomanga.
Uara Taunoa
10 10
2
20 30 20
Whirihoranga Karaehe
Kei nga karaehe etahi whirihoranga wa whakahiato. Tirohia nga Karaehe Pūrere USB mo etahi atu korero.
Whirihoranga Momorongo Pūrere USB
Ko te whirihoranga sl_usbd_device_config.h file ka whakahiato ano i te wa #define-s ki te whakarite i nga korero taketake mo to taputapu, penei i te Kaihoko/Hua ID, nga aho taputapu, me era atu. file.
Ripanga – Tautuhia te Whirihoranga Momorongo Pūrere USB
Tonu
SL_USBD_DEVIC E_VENDOR_ID
SL_USBD_DEVIC E_PRODUCT_ID
Whakaahuatanga Ko to nama tautuhi kaihoko na te USB Implementers Forum. Mo etahi atu korero mo te pehea e whiwhi ai koe i tetahi ID kaihoko, tirohia http://www.usb.org/developers/vendor/. To nama tohu hua.
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
9/174
Ka mutuview
Tonu
Whakaahuatanga
SL_USBD_DEVICE_RELEASE Tau tuku o tō pūrere. _NUMBER
SL_USBD_DEVICE_MANUFA aho e whakaahua ana i te kaihanga o to taputapu. Ka warewarehia tenei whirihoranga ina te
CTURER_STRING
whirihoranga SL_USBD_STRING_QUANTITY kua tautuhia ki te 0.
SL_USBD_DEVICE_PRODUC aho e whakaahua ana i to hua. Ka warewarehia tenei whirihoranga ina te whirihoranga
T_STRING
Kua tautuhia te SL_USBD_STRING_QUANTITY ki te 0.
SL_USBD_DEVICE_SERIAL_N aho kei roto te tau rangatū o tō pūrere. Ka warewarehia tenei whirihoranga ina te
UMBER_STRING
whirihoranga SL_USBD_STRING_QUANTITY kua tautuhia ki te 0.
SL_USBD_DEVICE_LANGUA Tau tautuhi o te reo o nga aho o to taputapu. Ko nga uara pea:
GE_ID
– SL_USBD_LANG_ID_ARABIC_SAUDI_ARABIA
– SL_USBD_LANG_ID_CHINESE_TAIWAN
– SL_USBD_LANG_ID_ENGLISH_US
– SL_USBD_LANG_ID_ENGLISH_UK
– SL_USBD_LANG_ID_FRENCH
– SL_USBD_LANG_ID_GERMAN
– SL_USBD_LANG_ID_GREEK
– SL_USBD_LANG_ID_ITALIAN
– SL_USBD_LANG_ID_PORTUGUESE
– SL_USBD_LANG_ID_SANSKRIT
Ka warewarehia tenei whirihoranga ina whakaritea te whirihoranga SL_USBD_STRING_QUANTITY ki te 0.
Whirihoranga Pūrere USB
I runga i te taputapu Silicon Labs e whakamahia ana e koe, tera pea kei a koe te titi GPIO me te tauranga hei whirihora mo te tohu USB VBUS Sense. Kei roto i te sl_usbd_hardware_config.h te pane whirihoranga file.
Tonu
SL_USBD_DRIVER_VBUS_SENSE_PORT SL_USBD_DRIVER_VBUS_SENSE_PIN
Whakaahuatanga
Tauranga GPIO mo te tohu USB VBUS Sense i runga i to papa. GPIO Pin mo te tohu USB VBUS Sense i runga i to papa.
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
10/174
Ka mutuview
Ka mutuview
He Aratohu Papatono Pūrere USB
Ko tenei waahanga e whakamarama ana me pehea te whakamahi i te waahanga taputapu USB.
Tatūnga Tuatahi o te Kōwae Pūrere USB
Ko tenei waahanga e whakaatu ana i nga mahi taketake e hiahiatia ana hei arawhiti i te waahanga taputapu USB me te taapiri, te whakarite me te tiimata i tetahi taputapu. Te Whakatairanga i te Waahanga Pūrere USB Te Whakaokiri i te Upoko o te Pūrere USB Te whakaara i te aCl ss(es) Te taapiri i to Pūrere USB Hangaia To Pūrere USB Te taapiri i te (ng) Whirihoranga Te taapiri i te (ngā) Taumahi USB Te tiimata i to Pūrere USB
Nga Mahi Matau Takahanga
Te whakaarahanga i te Waehere Pūrere USB
Te whakaarahanga i te Upoko Pūrere USB
a US a Me timata ma te whakauru i te matua o te taputapu B ma te whakauru i te mahi sl_usbd_core_init() . T aa he tauira i raro nei e whakaatu ana c lling sl_usbd_core_init() .
Example – Te waea sl_usbd_core_init()
sl_status_t tūnga; tūnga = sl_usbd_core_init(); ki te (tuanga ! SL_STATUS_OK) { /* I puta he hapa. Me taapiri te whakahaere hapa ki konei. */
}
Te Whakatairanga i te Akomanga
I muri i te arawhitinga o te matua o te taputapu USB, me arawhiti koe ia akomanga e hiahia ana koe ki te whakamahi. Tirohia te wahanga "Arahi Papatonotanga" o to acl ss(es) mo etahi atu korero.
Hangaia to Pūrere USB
Tāpiri Whirihoranga
I muri i to arawhitinga angitu i to taputapu, ka taea e koe te tiimata ki te taapiri i nga mahi USB ki reira, ka tiimata me te whirihoranga hou. Kia kotahi neke atu te whirihoranga o tetahi taputapu. Hei taapiri i tetahi (ng) whirihora, waeahia te mahi aa sl_usbd_core_ dd_configur tion() mahi. Me karanga tenei mahi mo ia whirihoranga e hiahia ana koe ki te taapiri. Ko te exampKei raro nei e whakaatu ana me pehea te taapiri i te tere-Katoa.
Example – Tāpiri (ngā) Whirihoranga ki tō Pūrere
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
11/174
Ka mutuview
sl_status_t tūnga; uint8_t config_nbr_fs;
/* Te taapiri i te whirihoranga tere-katoa ki te taputapu. */
tūnga = sl_usbd_core_add_configuration(0,
/* Kaore he huanga motuhake ki te whirihoranga. */
100u,
/* Kohi hiko teitei: 100mA.
*/
SL_USBD_DEVICE_SPEED_FULL,
/* Whirihoranga Tere-Katoa.
*/
"Config Add Exampte whirihora Tere-Katoa",
&config_nbr_fs);
ki te (tuunga ! SL_STATUS_OK) {
/* I puta he hapa. Me taapiri te whakahaere hapa ki konei. */
}
Tāpiri Taumahi USB
I muri i te pai o to taapiri kia kotahi whirihoranga ki to taputapu, ka taea e koe te taapiri i nga atanga me nga tohu mutunga ki to taputapu. Kei ia akomanga USB ona ake hiahia mo te atanga me te momo mutunga, te nui, me etahi atu tawhā. Ka taapirihia e te Pūrere USB Silicon Labs nga hononga me nga tohu mutunga ki nga karaehe ka tukuna.
Mai i to tono, ka taea e koe te whakauru i tetahi akomanga USB me te taapiri atu ki tetahi whirihoranga. Mo etahi atu korero mo te ariā o nga tauira akomanga taputapu USB, tirohia nga Akoranga Pūrere USB. Kia mahara ka taea e koe te whakauru me te taapiri i nga tauira maha o nga karaehe ki tetahi whirihoranga hei hanga i tetahi taputapu mahi-maha (hito).
Ko te exampKei raro nei e whakaatu ana me pehea te hanga tauira karaehe me te taapiri atu ki tetahi whirihoranga.
Example – Te taapiri i tetahi tauira akomanga ki to taputapu
sl_status_t tūnga; uint8_t class_nbr;
/* Waihangahia he tauira o te karaehe e hiahia ana koe ki te whakamahi.*/ /* Kia mahara kei runga i te karaehe ka nui ake nga tautohetohe o tenei mahi. */ tūnga = sl_usbd_ _create_instance(&class_nbr); ki te (tuanga ! SL_STATUS_OK) { /* I puta he hapa. Me taapiri te whakahaere hapa ki konei. */ }
/* Tāpirihia te tauira akomanga ki te whirihoranga Tere-Katoa. */ tūnga = sl_usbd_ _add_to_configuration(class_nbr, /* Tau karaehe i whakahokia e sl_usbd_ _waihanga_tauira. */
config_nbr_fs); /* Tau whirihoranga i whakahokia mai e sl_usbd_core_add_configuration(). */ mena (tuanga ! SL_STATUS_OK) { /* I puta he hapa. Me taapiri te whakahaere hapa ki konei. */ }
Tīmatahia tō Pūrere USB
Ma te taunoa, ka tiimata aunoa te taputapu ma te mahi matua o te taputapu USB i muri i te otinga o te arawhitinga o te taputapu ka timata te pata. Hei whakahaere i te wa i timata ai te taputapu ka kitea e te kaihautu USB, whakamahia te tautuhi whirihoranga SL_USBD_AUTO_START_USB_DEVICE ki te whakakore i te waahanga whakaoho-aunoa. Ina monokia, i muri i to hanga/whakarite i to taputapu, ka taea e koe te tiimata me te whakaatu ki te kaihautu USB ma te waea i te mahi sl_usbd_core_start_device() .
Ko te exampKei raro nei e whakaatu ana me pehea te tiimata i to taputapu ma te whakamahi i te mahi sl_usbd_core_start_device().
Example – Tīmatahia tō Pūrere
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
12/174
Ka mutuview
sl_status_t tūnga;
tūnga = sl_usbd_core_start_device(); ki te (tuanga ! SL_STATUS_OK) { /* I puta he hapa. Me taapiri te whakahaere hapa ki konei. */ }
Nga Mahi Matau Takahanga
Ko te kōwae matua Pūrere USB e rua nga mahi matau ngoikore ka taea e koe te tautuhi ano i roto i to tono. Ko ta ratou kaupapa he whakamohio i te wa ka puta nga huihuinga pahi me te whirihoranga.
Ripanga - Nga Mahi Matau Takahanga USB
Takahanga
Whakaahuatanga
pahi
Ka karangahia ina puta te huihuinga USB Bus
Ka karangahia te Whirihoranga ina puta te takahanga Whirihoranga USB
Waitohu Mahi
whakakorea sl_usbd_on_bus_event(sl_usbd_bus_event_t takahanga); whakakorea sl_usbd_on_config_event(sl_usbd_config_event_t takahanga, uint8_t config_nbr);
Example – Nga Mahi Matau Takahanga
whakakorea sl_usbd_on_bus_event(sl_usbd_bus_event_t takahanga) { whakawhiti (takahanga) { take SL_USBD_EVENT_BUS_CONNECT:
// ka karangahia ka whakauruhia te taura USB ki roto i te wehenga kaiwhakahaere ope;
take SL_USBD_EVENT_BUS_DISCONNECT: // ka karangahia ina tangohia te taura USB mai i te wehenga kaiwhakahaere ope;
take SL_USBD_EVENT_BUS_RESET: // ka karangahia ka tukuna e te kaihautu te wehenga whakahau tautuhi;
take SL_USBD_EVENT_BUS_SUSPEND: // ka karanga i te wa e tukuna ana e te kaihautu he wehenga whakahau whakatarewa;
take SL_USBD_EVENT_BUS_RESUME: // ka karanga i te wa e tukuna ana e te kaihautu he wehenga whakahau whakaoho;
taunoa: whati; }}
whakakorea sl_usbd_on_config_event(sl_usbd_config_event_t takahanga, uint8_t config_nbr) {whakawhiti (takahanga) {take SL_USBD_EVENT_CONFIG_SET:
// ka karangahia ina whakaritea e te kaihautu he wehenga whirihoranga;
take SL_USBD_EVENT_CONFIG_UNSET: // ka karanga i te wa e kore e tautuhia te whirihoranga;
taunoa: whati; }}
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
13/174
Ka mutuview
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
14/174
Ka mutuview
Ka mutuview
Karaehe Pūrere USB
Ko nga karaehe USB e waatea ana i roto i te Pūrere USB Silicon Labs e whakaatu ana i etahi ahuatanga noa. Ko tenei waahanga e whakamarama ana i enei ahuatanga me o raatau taunekeneke ki te paparanga matua.
Mo etahi atu korero mo te akomanga motuhake, tirohia enei e whai ake nei:
Ko te Akomanga CDC ACM HID Class MSC SCSI Class Vendor Class
Mo nga Tauira Karaehe
Ko nga karaehe USB e waatea ana i roto i te Pūrere USB e whakatinana ana i te kaupapa o nga tauira akomanga. Ko te tauira karaehe e tohu ana i tetahi mahi i roto i tetahi taputapu. Ka taea te whakaahua i te mahi ma te atanga kotahi, ma te roopu atanga ranei, no tetahi akomanga motuhake.
Kei ia mahinga akomanga USB etahi whirihoranga me nga mahi noa, i runga i te kaupapa o te tauira karaehe. Ko nga whirihoranga me nga mahi noa e whakaatuhia ana i te ripanga i raro nei. I te taitara tīwae 'Constants or Function', ka taea te whakakapi i te puriwāhi XXXX ki te ingoa o te akomanga: CDC, HID, MSC, CDC_ACM, VENDOR ranei (Kaihoko mo nga ingoa mahi).
Ripanga – Nga Taarua me nga Mahi e Paa ana ki te Arama o nga Tikanga Akomanga Maha
Tonu, Mahi ranei
SL_USBD_XXXX_CL ASS_IN TANCE_QUANTITY
SL_USBD_XXXX_CONFIGUR ATION_QUANTITY
sl_usb d _XXXX_cre kai _insta nce ()
sl_usbd_XXXX_add_to_conf iguration()
Whakaahuatanga
Ka whirihora i te tau mōrahi o ngā tauira karaehe.
Ka whirihora i te tau mōrahi o ngā whirihoranga. I te wahanga o te karaehe, ka taapirihia he tauira karaehe i hanga ki tetahi, neke atu ranei nga whirihoranga. Ka waihanga tauira akomanga hou.
Ka taapirihia he tauira karaehe ki te whirihoranga taputapu kua tohua.
Mo te whakatinanatanga waehere, ka whakapuakihia e te karaehe tetahi taurangi o te ao o te rohe kei roto he hanganga mana karaehe. Ko tenei hanganga mana karaehe e hono ana ki tetahi tauira karaehe, ka whai korero motuhake hei whakahaere i te tauira akomanga.
Ko nga whika e whai ake nei e whakaatu ana i nga ahuatanga maha. Kei ia ahua he waehere exampe rite ana ki te ahuatanga o te keehi.
Whakaatu - He maha nga waahanga o te karaehe - Ko te taputapu FS (1 Whirihoranga me te 1 Atanga) e tohu ana i tetahi taputapu USB. Ko te taputapu he Tere-Katoa (FS) me te whirihoranga kotahi. Ko te mahi o te taputapu e whakaahuahia ana e tetahi atanga i titohia e te rua o nga tohu mutunga mo te whakawhitiwhiti raraunga. Ka hangaia he tauira karaehe ka taea e koe te whakahaere i te atanga katoa me tona pito mutunga.
Pikitia – Tauira Akomanga Maha – FS Pūrere 1 Whirihoranga me te 1 Atanga)
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
15/174
Ka mutuview
Ko te waehere e pa ana ki te ahua - He maha nga waahanga o te akomanga - Pūrere FS (1 Whirihoranga me te Atanga 1) e whakaatuhia ana i te exampi raro.
Example – Tauira Akomanga Maha – FS Pūrere 1 Whirihoranga me te 1 Atanga)
sl_status_t tūnga; uint8_t class_0;
void app_usbd_XXXX_enable(uint8_t class_nbr) { /* Rakau Akomanga whakahohe takahanga. */ }
void app_usbd_XXXX_disable(uint8_t class_nbr) { /* Kakau i te hui whakakore i te akomanga. */ }
sl_usbd_XXXX_callbacks_t class_callbacks = {
(1)
.enable = app_usbd_XXXX_enable,
.whakakore = app_usbd_XXXX_disable
};
tūnga = sl_usbd_XXXX_init();
(2)
ki te (tuunga ! SL_STATUS_OK) {
/* $$$$ Whakahaerehia te hapa. */
}
tūnga = sl_usbd_XXXX_create_instance(&akomanga_whakahoki,
(3)
&akomanga_0);
ki te (tuunga ! SL_STATUS_OK) {
/* $$$$ Whakahaerehia te hapa. */
}
tūnga = sl_usbd_XXXX_add_to_configuration(class_0, config_0);
(4)
ki te (tuunga ! SL_STATUS_OK) {
/* $$$$ Whakahaerehia te hapa. */
}
(1) Ka tukuna e ia karaehe he huinga mahi waea hoki mo nga huihuinga hono/motuhake me nga kaupapa motuhake mo te akomanga. Ka tukuna te ahanoa hanga waea hoki hei tautohe i te wa e hanga ana i te tauira karaehe me te sl_usbd_XXXX_create_instance()
mahi.
(1) Whakatakihia te akomanga. Ka arawhitihia nga taurangi o roto katoa, nga hanganga, me nga tauranga akomanga. Kia mahara ko te mahi Init() i etahi karaehe ka mau etahi atu tohenga.
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
16/174
Ka mutuview
(2) Waihangahia te tauira akomanga, ko te class_0 . Ko te mahi sl_usbd_XXXX_create_instance() ka tohatoha i te hanganga mana karaehe e hono ana ki te class_0 . I runga i te karaehe, sl_usbd_XXXX_create_instance() tera pea he taapiri taapiri i tua atu i te nama karaehe e tohu ana i nga korero mo te karaehe e rongoa ana i roto i te hanganga mana o te akomanga. aaa (3) Tāpirihia te cl ss inst nce, class_0 , ki te tau whirihora kua tohua, config_0 . sl_usbd_XXXX_add_to_configuration() ka hanga te atanga 0 me ona tohu mutunga IN me OUT. Ko te mutunga, ko te tauira o te karaehe ka uru ki te atanga 0 me ona pito mutunga. Ko nga korero ka mahia i runga i te atanga 0 ka whakamahi i te tau tauira akomanga, class_0 . Pikitia – Tauira Akomanga Maha – Ko te Pūrere FS (2 Whirihoranga me nga Atanga Maha) he tohu o mua uaua akeample. Ko te taputapu tere-katoa e rua nga whirihoranga. E rua nga mahi o te taputapu no te karaehe kotahi, engari ko ia mahi e whakaahuatia ana e nga atanga e rua, me te rua o nga tohu mutunga rua. I roto i tenei exampNa, e rua nga tauira o te akomanga ka hangaia. Ko ia tauira o te karaehe e hono ana ki te roopu o nga atanga he rereke ki te Whakaahua - Nga Tauira Akomanga Maha - Pūrere FS (1 Whirihoranga me te Atanga 1) me te Whakaahua - Nga Tauira Akomanga Maha - Pūrere FS (2 Whirihoranga me nga Atanga Maha) i hono ai te tauira o te akomanga ki te atanga kotahi.
Pikitia – Tauira Karaehe Maha – FS Pūrere 2 Whirihoranga me nga Atanga Maha)
Ko te waehere e pa ana ki te ahua - He maha nga waahanga o te karaehe - FS Pūrere (2 Whirihoranga me nga Atanga Maha) ka whakaatuhia ki te exampi raro. Ka waihotia te whakahaere hapa kia marama.
Example – Tauira Akomanga Maha – FS Pūrere 2 Whirihoranga me nga Atanga Maha)
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
17/174
Ka mutuview
sl_status_t tūnga; uint8_t class_0; uint8_t class_1;
tūnga = sl_usbd_XXXX_init();
tūnga = sl_usbd_XXXX_create_instance(&akomanga_0); tūnga = sl_usbd_XXXX_create_instance(&akomanga_1);
tūnga = sl_usbd_XXXX_add_to_configuration(class_0, cfg_0); tūnga = sl_usbd_XXXX_add_to_configuration(class_1, cfg_0);
tūnga = sl_usbd_XXXX_add_to_configuration(class_0, cfg_1); tūnga = sl_usbd_XXXX_add_to_configuration(class_1, cfg_1);
(1)
(2) (3)
(4) (5)
(6) (6)
(1) Whakatakihia te akomanga. Ka arawhitihia nga taurangi o roto, nga hanganga, me nga tauranga akomanga.
(2) Waihangahia te tauira akomanga, class_0 . Ko te mahi sl_usbd_XXXX_create_instance() ka tohatoha i te hanganga mana karaehe e hono ana ki te class_0 .
(3) Waihangahia te tauira akomanga, class_1 . Ko te mahinga sl_usbd_XXXX_create_instance() ka tohatoha i tetahi atu hanganga whakahaere akomanga e hono ana ki te class_1.
(4) Tāpirihia te tauira akomanga, class_0 , ki te whirihoranga, cfg_0 . sl_usbd_XXXX_add_to_configuration() ka waihanga te atanga 0, te atanga 1, nga atanga rereke, me nga tohu mutunga IN me OUT. Ka whakamahia te tau tauira karaehe, class_0 , mo nga whakawhitinga raraunga i runga i te atanga 0, i te atanga 1 ranei.
(5) Tāpirihia te tauira akomanga, class_1 , ki te whirihoranga, cfg_0 . sl_usbd_XXXX_add_to_configuration() ka hanga te atanga 2, te atanga 3 me o raatau hononga IN me OUT mutunga. Ka whakamahia te tau tauira karaehe, class_1 , mo nga korero korero mo te atanga 2, atanga 3 ranei.
(6) Tāpirihia nga tauira o te akomanga, class_0 me class_1 , ki tetahi atu whirihoranga, cfg_1 .
Ka tautuhia e ia karaehe te hanganga o te momo sl_usbd_XXXX_callbacks_t . Ko tana kaupapa he hoatu ki ia karaehe he huinga mahi waea hoki hei karanga ina puta mai he huihuinga. E rua nga mahi karanga hoki kei ia akomanga. Kei te ripanga kei raro nei.
Ripanga – Nga Mahi Waea Whakahoki Arotahi
Whakamārama Āpure .whakahohea Ka karangahia ka whakahohea te tauira akomanga USB. .disable Ka karangahia ka monokia te tauira akomanga USB.
Waitohu Mahi kore app_usbd_XXXX_enable(uint8_t class_nbr); void app_usbd_XXXX_disable(uint8_t class_nbr);
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
18/174
Ka mutuview
Ka mutuview
USB Pūrere CDC ACM Class
USB Pūrere CDC Base Class Overview USB Pūrere CDC ACM Class Rauemi Hiahia mai i Matua USB Pūrere CDC ACM Subclass Overview USB Device CDC ACM Class Configuration USB Device CDC ACM Class Programming Guide
Ko tenei waahanga e whakaatu ana i te karaehe Whakawhitiwhiti Pūrere (CDC) me te akomanga iti o te CDC e tautokohia ana e te taapu Pūrere USB a Silicon Labs. Kei te tautoko a Silicon Labs USB-Pūrere i te karaehe iti o te tauira Mana Abstract (ACM), e whakamahia nuitia ana mo te tauira rangatū.
Kei roto i te CDC nga momo taputapu waea me nga taputapu whatunga. Kei roto i nga taputapu waea waea pouwhanga tairitenga, waea tairitenga me te waea matihiko, urutau tauranga ISDN, aha atu.ampNa, kei roto i nga taputapu whatunga he ADSL me nga pouwhanga taura, nga urutau Ethernet, me nga tari. Ka tautuhia e te CDC tetahi anga hei whakauru i nga paerewa ratonga whakawhitiwhiti korero o naianei, penei i te V.250 (mo nga pouwhanga i runga i te whatunga waea) me te Itarangi (mo nga taputapu whatunga rohe rohe), ma te whakamahi hononga USB. Ko te taputapu whakawhitiwhiti kei te whakahaere i te whakahaere taputapu, te whakahaere waea ina hiahiatia, me te tuku raraunga.
Ka tautuhia e te CDC nga roopu nui e whitu o nga taputapu. Kei ia roopu tetahi tauira korero, tera pea he maha nga karaehe iti. Kei ia roopu taputapu tana ake tuhinga korero i tua atu i te akomanga turanga CDC. Ko nga roopu e whitu ko:
Whatunga Waea Whakawhiti-a-iwi (PSTN), nga taputapu tae atu ki nga pouwhanga roopu reo, nga waea, me nga taputapu tauira rangatū. Ko nga taputapu Whatunga Mamati Ratonga Whakauru (ISDN), tae atu ki nga taputapu tauranga me nga waea. Nga taputapu Tauira Mana Itarangi (ECM), tae atu ki nga taputapu e tautoko ana i te whanau IEEE 802 (hei tauira: taura me nga pouwhanga ADSL, nga taputapu WiFi). Ko nga taputapu Aratau Whakawhiti Asynchronous (ATM), tae atu ki nga pouwhanga ADSL me etahi atu taputapu e hono ana ki nga whatunga ATM (teihana mahi, pouara, whakawhiti LAN). Ko nga taputapu Waea Waea Ahokore (WMC), tae atu ki nga taputapu ringaringa whakawhitiwhiti maha-mahi e whakamahia ana hei whakahaere i nga korero reo me nga korero raraunga. Itarangi Emulation Model (EEM) nga taputapu e whakawhiti ana i nga raraunga anga-a-Itarangi. Nga taputapu Tauira Whakahaere Whatunga (NCM), tae atu ki nga taputapu whatunga tere-tere (Nga pouwhanga Whakaaetanga Pakete Tere Tere, Taputapu Kape Raina)
Ko te CDC me te whakatinanatanga o te karaehe iti e whai ana ki nga whakaritenga e whai ake nei:
Pahi Rarangi Ao, Whakamarama Akoranga mo nga Pūrere Whakawhitiwhiti, Whakahoutanga 1.2, Whiringa-a-rangi 3 2010. Paihikara Rangarangi Ao, Whakawhitiwhiti, Waaakonga mo nga taputapu PSTN, Whakahoutanga 1.2, Hui-tanguru 9 2007.
USB Pūrere CDC Base Class Overview
Kei roto i te taputapu CDC nga atanga e whai ake nei hei whakatinana i te kaha korero:
Ko te Atanga Akoako Whakawhitiwhiti (CCI) te kawenga mo te whakahaere taputapu me te whakahaere waea. Ko te
Ka taea e te whakahaere taputapu te whirihoranga whanui me te whakahaere o te taputapu me te whakamohiotanga o nga huihuinga ki te kaihautu. Ko te whakahaere waea ka taea te whakatu waea me te whakamutu. Ko te whakahaere waea ka taea te whakanuia ma te DCI. Ko te CCI he whakahau mo nga taputapu CDC katoa. Ka tautuhi i te mahi CDC ma te tohu i te tauira korero e tautokohia ana e te taputapu CDC. Ko te(ng) atanga e whai ake nei i te CCI ka taea he atanga karaehe USB kua tautuhia, penei i te Ororongo, he atanga motuhake-kaihoko ranei. Ko te atanga motuhake-kaihoko e tohuhia ana e te DCI.
Ko te Atanga Akoranga Raraunga (DCI) te kawenga mo te tuku raraunga. Ko nga raraunga ka tukuna me te whiwhi/kaore ranei e whai ana i tetahi mea motuhake
whakatakotoranga. Ko nga raraunga he raraunga mata noa mai i te raina whakawhitiwhiti korero, raraunga e whai ana i te whakatakotoranga rangatira, me era atu. Ko nga DCI katoa e whai ana i te CCI ka kitea he atanga o raro.
Me whai i tetahi taputapu CDC kia kotahi CCI me te kore, neke atu ranei nga DCI. Ko tetahi CCI me tetahi DCI o raro ka whakarato i tetahi ahuatanga ki te kaihautu. Ko tenei kaha ka kiia ano he mahi. I roto i te taputapu hiato CDC, ka taea e koe te maha
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
19/174
Ka mutuview
mahi. Na reira, he maha nga huinga CCI me te DCI e whakaatuhia ana i te Whakaahua - CDC Composite Device.
Whakaahua - Pūrere Hiato CDC
Ka whakamahia pea e tetahi taputapu CDC nga huinga e whai ake nei o nga pito:
Ko te rua o te mana whakahaere IN me OUT ka kiia ko te pito mutunga taunoa. He waahanga nui, haukotia ranei i te waahi mutunga IN. He takirua o te nuinga o nga waahi mutunga IN me OUT. Kia mahara ko te taapu taputapu USB a Silicon Labs kaore i te tautoko i nga waahi mutunga.
Ko te ripanga i raro nei e whakaatu ana i te whakamahinga o nga momo mutunga me te atanga o te CDC e whakamahia ana.
Ripanga - Te Whakamahinga Whakamutunga CDC
Whakamutunga
Mana IN
Whakahaere OUT
Te haukoti, te nuinga ranei I te nui, te taurite ranei IN te nuinga, te taurite ranei
KI WAHO
Te aronga
Pūrere ki-kaihautū
Kaihautū-ki te taputapu
Pūrere ki-kaihautū
Pūrere ki-kaihautū
Kaihautū-ki te taputapu
Whakamahinga Atanga
CCI
Nga tono paerewa mo te tatauranga, tono mo te karaehe, taputapu
whakahaere, a ka taea te karanga te whakahaere.
CCI
Nga tono paerewa mo te tatauranga, tono mo te karaehe, taputapu
whakahaere, a ka taea te karanga te whakahaere.
CCI
Ko te whakamohiotanga o nga huihuinga, penei i te kitenga whakakai, te mana raina rangatū, te mana whatunga.
DCI
Whakawhitiwhiti raraunga mata, whakahōputuhia ranei.
DCI
Whakawhitiwhiti raraunga mata, whakahōputuhia ranei.
Ko te nuinga o nga taputapu whakawhitiwhiti korero ka whakamahi i te waahi mutunga mo te whakamohio i te ope o nga huihuinga. Kaua e whakamahia nga pito mutunga mo te tuku raraunga ina ka whakawhirinaki te kawa rangatira ki te tuku ano i nga raraunga mena he hapa kawa USB. Ka ngaro nga raraunga i te mea karekau he tikanga ngana ano.
Ko nga tauira nui e whitu o te whakawhitiwhiti korero he maha nga waahanga iti. Ko tetahi akomanga iti e whakaatu ana me pehea te whakamahi a te taputapu i te CCI hei whakahaere i te whakahaere taputapu me te whakahaere waea. Ko te ripanga i raro nei e whakaatu ana i nga karaehe iti katoa me te tauira korero no ratou.
Ripanga - Nga akomanga iti CDC
karaehe iti
Tauira Mana Raina Tikanga Tauira Mana Abstract
Tauira Whakawhitiwhiti
PSTN
PSTN
Exampte o nga taputapu e whakamahi ana i tenei karaehe iti
Ko nga taputapu pouwhanga e whakahaere tika ana e te kaihautu USB
Ko nga taputapu tauira rangatū, nga taputapu pouwhanga e whakahaerehia ana ma te huinga whakahau rangatū
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
20/174
Ka mutuview
karaehe iti
Tauira Whakawhitiwhiti
Exampte o nga taputapu e whakamahi ana i tenei karaehe iti
Tauira Mana Waea
PSTN
Tauira ISDN Mana-Maama
CAPI Mana Tauira ISDN
Tauira Mana ECM Whatunga Itarangi
ATM Whatunga
ATM
Tauira Mana
Tauira Mana Pukoro Ahokore
WMC
Whakahaere Pūrere WMC
Tauira Raina Tika Pukoro
WMC
OBEX
WMC
Tauira EEM Emulation Ethernet
Tauira Mana Whatunga
NCM
Nga taputapu waea reo
Kaitautoko kapeka reeti taketake, nga taputapu kapeka reeti tuatahi, waea
Kaitautoko kapeka reeti taketake, nga urutau waea reeti tuatahi, nga waea DOC-SIS pouwhanga taura, ADSL pouwhanga e tautoko ana i te tauira PPPoE, Wi-Fi urutau (IEEE 802.11-whānau), IEEE 802.3 urutau ADSL pouwhanga
Ko nga taputapu tauranga waea e hono ana ki nga taputapu ahokore
Ko nga taputapu tauranga waea e hono ana ki nga taputapu ahokore Nga taputapu tauranga waea e hono ana ki nga taputapu ahokore
Nga taputapu kapeka waea e hono ana ki nga taputapu ahokore Nga taputapu e whakamahi ana i nga papa Itarangi hei paparanga waka e whai ake nei. Ehara i te mea mo te ararere me nga taputapu honohono Ipurangi IEEE 802.3 urutau e mau ana i te bandwidth raraunga tere-tiketike ki te whatunga
USB Pūrere CDC ACM Class Rauemi Hiahia mai i Core
Ia wa ka taapirihia e koe he tauira akomanga ACM CDC ki te whirihoranga USB ma te waea ki te mahi sl_usbd_cdc_acm_add_to_configuration() , ka tohatohahia nga rauemi e whai ake nei mai i te matua.
Rauemi
Atanga Atanga Atanga Whakamutunga Rōpū Atanga
Te nui
2 2 3 1
Kia mahara ko aua nama kei ia whirihoranga. Ina whakarite i to SL_USBD_INTERFACE_QUANTITY , SL_USBD_ALT_INTERFACE_QUANTITY , SL_USBD_INTERFACE_GROUP_QUANTITY me SL_USBD_DESCRIPTOR_QUANTITY uara whirihoranga, kaua e wareware ki te whai whakaaro mo te maha o nga whirihoranga ka taapirihia e te akomanga. Mo te uara whirihoranga SL_USBD_OPEN_ENDPOINTS_QUANTITY, i te mea ka whakatuwherahia nga pito mutunga ka whakatauhia e te kaihautu he whirihoranga, me whai whakaaro noa koe ki te maha o nga pito e hiahiatia ana mo tetahi tauira karaehe.
USB Pūrere CDC ACM Subclass Overview
Ko te karaehe turanga CDC he mea tito he Atanga Akomanga Whakawhitiwhiti (CCI) me te Atanga Akomanga Raraunga (DCI), ka korerohia i roto i nga korero i roto i te USB Device CDC Base Class Overview . Ko tenei waahanga e korero ana mo te CCI o te momo ACM. Kei roto ko te waahi mutunga taunoa mo te huānga whakahaere me tetahi pito haukoti mo te huānga panui. Ka whakamahia te rua o nga pito mutunga ki te kawe i nga raraunga kaore i tohua ki runga i te DCI.
E rua nga momo taputapu whakawhitiwhiti ACM e whakamahia ana:
Nga taputapu e tautoko ana i nga whakahau AT (hei tauira, nga pouwhanga reo). Ko nga taputapu whakaari raupapa e kiia ana ko nga taputapu tauranga COM Mariko.
He maha nga tono mo te karaehe iti mo te karaehe ACM. Ka taea e koe te whakahaere me te whirihora i te taputapu. Ko te rarangi katoa me te whakamaarama mo nga tono ACM katoa ka kitea i roto i nga korero
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
21/174
Ka mutuview Karaehe iti mo nga taputapu PSTN, whakahounga 1.2, Hui-tanguru 9, 2007=, wahanga 6.2.2.
Mai i tenei rarangi, ka tautoko a Silicon Labs9 ACM i nga karaehe e whai ake nei:
Ripanga - Nga Tono ACM Tautokohia e Silicon Labs
Whakamaramatanga Tono Raraunga
SetCommFeature GetCommFeature ClearCommFeature
Ka tukuna e te kaihautu tenei tono ki te whakahaere i nga tautuhinga mo tetahi waahanga korero. Kaore i whakamahia mo te tauira rangatū.
Ka tukuna e te kaihautu tenei tono ki te tiki i nga tautuhinga o naianei mo tetahi waahanga korero. Kaore i whakamahia mo te tauira rangatū.
Ka tukuna e te kaihautu tenei tono ki te whakakore i nga tautuhinga mo tetahi waahanga korero. Kaore i whakamahia mo te tauira rangatū.
TautuhiRainaWaehere
Ka tukuna e te kaihautu tenei tono ki te whirihora i nga tautuhinga taputapu ACM: te reiti baud, te maha o nga moka mutu, te momo parerite me te maha o nga moka raraunga. Mo te tauira rangatū, ka tukuna aunoatia tenei tono e te kapeka rangatū ia wa ka whirihora koe i nga tautuhinga rangatū mo te tauranga COM mariko tuwhera.
GetLineCoding
Ka tukuna e te kaihautu tenei tono ki te tiki i nga tautuhinga ACM o naianei (te reiti baud, nga moka mutu, te parity, nga paraka raraunga). Mo te whakatauira rangatū, ka tukuna aunoa e nga kapeka rangatū tenei tono i te whakatuwheratanga o te tauranga COM mariko.
SetControlLineState Ka tukuna e te kaihautu tenei tono ki te whakahaere i te kaikawe mo nga pouwhanga haurua-rua me te tohu kua rite te Raraunga Taputapu Taputapu (DTE) kaore ranei. I roto i te take whaiwhai rangatū, ko te DTE he tauranga rangatū. Mo te whakatauira rangatū, ka taea e etahi kapeka rangatū te tuku i tenei tono me nga huinga mana.
Tautuhinga
Ka tukuna e te kaihautu tenei tono ki te whakaputa i te wehenga momo RS-232. Mo te tauira rangatū, ka taea e koe te tuku i tenei tono.
Ka whakamahia e Silicon Labs9 ACM te karaehe-iti i te waahi mutunga IN hei whakamohio atu ki te kaihautu mo te ahua o te raina rangatū o naianei. Ko te raupapa
Ko te ahua o te raina he maheremoka e whakaatu ana ki te kaihautu mo:
I makahia nga raraunga na te nui o te hapa Parity Hapa hangahanga Te ahua o te tohu tohu whakakai Te ahua o te mahi whati te ahua o te kaikawe tuku Te ahua o te kaikawe kaikawe kitea
Ko te whakatinanatanga o te karaehe iti a Silicon Labs9 ACM e tutuki ana ki nga korero e whai ake nei:
Paihikara Rangarangi Ao, Whakawhitiwhiti, Karaehe-iti mo nga taputapu PSTN, whakahounga 1.2, Hui-tanguru 9, 2007.
USB Pūrere CDC ACM Class Whirihoranga
Ko tenei waahanga e korero ana me pehea te whirihora i te CDC ACM Class (Te Akomanga Pūrere Whakawhitiwhiti, Tauira Mana Abstract). E rua nga roopu o nga tawhā whirihoranga:
USB Pūrere CDC ACM Taupānga Taupānga Tauwhāiti Whirihoranga Tautoko Pūrere USB CDC ACM Akomanga Tauira Whirihoranga
USB Pūrere CDC ACM Class Taupānga Whirihoranga Tauwhāiti
Ko te akomanga turanga CDC ACM karaehe iti
Class Base CDC
Tuatahi, ki te whakamahi i te taputapu a Silicon Labs USB mo te akomanga CDC, ka hiahia koe ki te whakatika i te whirihoranga wa whakahiato CDC #define-s kia rite ki o hiahia tono. Ka whakarōpūhia ki roto i te pane sl_usbd_core_config.h file i raro i te waahanga CDC. Ko ta raatau kaupapa he whakamohio ki te waahanga taputapu USB mo te maha o nga taonga CDC USB hei tohatoha.
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
22/174
Ka mutuview
Ko te ripanga i raro nei e whakaatu ana i ia mara whirihoranga e waatea ana i tenei hanganga whirihoranga.
Ripanga - Tautuhia te Whirihoranga CDC Pūrere USB
Ingoa Whirihoranga
SL_USBD_CDC_CL AS S_INSTANCE_QUANT ITY
SL_USBD_CDC_CONF IGURATION_QUANTI
TY
SL_USBD_CDC_DATA _INTERFACE_QUANTI
TY
Whakaahuatanga
Te maha o nga tauira akomanga ka tohaina e koe ma te waea ki te mahi
sl_usbd_cdc_acm_create_instance() .
Te maha o nga whirihoranga. Ka taea te taapiri i nga tauira akomanga ACM ki te kotahi, neke atu ranei nga whirihoranga aaaa ki te sl_usbd_cdc_acm_add_to_configuration() .
Te maha o nga atanga raraunga (DCI) mo nga mahi CDC katoa. Ko ia mahi CDC ACM aaaaaaaaa kua whakauruhia ki te mahi sl_usbd_cdc_acm_create_instance() ka dd dt interf ce.
Uara Taunoa
2
1
2
Ko te roopu hokohoko o nga ACM
Ko te karaehe ACM kotahi te whirihoranga wa-whakahiato e whakaatuhia ana i te ripanga i raro nei.
Ripanga - Tautuhia te Whirihoranga ACM Pūrere USB CDC
Ingoa Whirihoranga
SL_USBD_CDC_ACM_SUBCL ASS_I NSTANCE_QUANTITY
Whakaahuatanga
Ka whirihora i te maha o nga tauira karaehe ka tohatohahia e koe ma te waea ki te
mahi sl_usbd_cdc_acm_create_instance() .
Uara Taunoa
2
USB Pūrere CDC ACM Tauira Tauira Whirihoranga
Ka tautuhia e tenei waahanga nga whirihoranga e pa ana ki nga tauira akomanga rangatū CDC ACM. Tauira Karaehe Waihanga Raina ahua waanga karangatanga mgmt kaha p_acm_callbacks
Waihanga Tauira Akomanga
Hei waihanga i tetahi tauira akomanga rangatū CDC ACM, waeahia te mahi T a sl_usbd_cdc_acm_create_instance() . Ko tana mahi e toru nga tohenga whirihoranga, pera i whakaahuatia i konei.
line_state_wawhanga
Ko te waahi tenei (i roto i nga manomano) ka tukuna e to tauira karaehe rangatū CDC ACM nga whakamohiotanga ahua raina ki te kaihautu T aa. ko tana v lue kia rua te mana (1, 2, 4, 8, 16, etc).
call_mgmt_capabilities
Maheremoka Whakahaere Waea. Ko nga uara pea o te maheremoka e whai ake nei:
Uara (bit)
SL_USBD_ACM_SERIAL_CALL_MGMT_DEV
SL_USBD_ACM_SERIAL_CALL_MGMT_DATA_CCI _DCI
Whakaahuatanga
Ma te taputapu tonu e whakahaere te whakahaere waea. Ka taea e te taputapu te tuku / whiwhi korero whakahaere waea ki runga i te atanga Raraunga Raraunga.
p_acm_callbacks
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
23/174
Ka mutuview
Ko aa M aa p_acm_callbacks he tohu ki te hanganga o te momo sl_usbd_cdc_acm_callbacks_t . Ko tana kaupapa ko te hoatu i te huinga mahi hokiwaea a CDC AC Cl ss kia waeahia ina puta he huihuinga CDC ACM. Ehara i te mea whakahau nga hokiwaea katoa, a ka taea te tuku i te atatohu null ( NULL ) i roto i te taurangi hanganga waea hoki ina kore e hiahiatia te hokiwaea. Ko te ripanga i raro nei e whakaatu ana i ia mara whirihoranga e waatea ana i tenei hanganga whirihoranga.
Ripanga – sl_usbd_cdc_acm _callbacks_t Hanganga Whirihoranga
Nga mara
Whakaahuatanga
.whakahohe
Ka karangahia ina whakahohea te tauira akomanga USB
angitu.
.whakakore
Ka karangahia ina monoa te tauira akomanga USB.
.line_control_changed Ka karangahia ina whiwhi huringa mana raina.
line_coding_changed Ka karangahia ina whiwhi huringa waehere raina.
Waitohu Mahi
void app_usbd_cdc_acm_enable(uint8_t subclass_nbr);
void app_usbd_cdc_acm_disable(uint8_t subclass_nbr);
void app_usbd_cdc_acm_line_control_changed(uint8_t subclass_nbr, uint8_t takahanga, uint8_t event_chngd); bool app_usbd_cdc_acm_line_coding_changed(uint8_t subclass_nbr, subclass_nbr, sl_usbd_cdc_acm_line_coding_t
*p_raina_whakawaehere
Tirohia te waahanga Te Rehita Waea Whakamōhiotanga Takahanga mo nga mahi hokiwaea example.
USB Pūrere CDC ACM Class Programming Guide
Ko tenei waahanga e whakamarama ana me pehea te whakamahi i te akomanga Tauira Mana Abstract CDC. Te Whakatairanga i te Pūrere USB Te Akomanga ACM CDC Te Tāpirihia he Pūrere USB Tauira ACM Class CDC ki To Pūrere Whakawhitiwhiti Ma te whakamahi i te Akomanga ACM CDC
Ko te Whakatairanga i te USB Device CDC ACM Class
Hei taapiri i nga mahi a te karaehe CDC ACM ki to taputapu, me arawhiti tuatahi koe i te karaehe turanga CDC me te karaehe ACM ma te whakauru i nga mahi sl_usbd_cdc_init() me sl_usbd_cdc_acm_init() . T aaaaa he tauira i raro nei e whakaatu ana me pehea te c ll sl_usbd_cdc_init() me te sl_usbd_cdc_acm_init() ma te whakamahi i nga tikanga taunoa.
Example – Te timatanga o te ACM Class CDC
sl_status_t tūnga;
tūnga = sl_usbd_cdc_init(); ki te (tuanga ! SL_STATUS_OK) { /* I puta he hapa. Me taapiri te whakahaere hapa ki konei. */
}
tūnga = sl_usbd_cdc_acm_init(); ki te (tuanga ! SL_STATUS_OK) { /* I puta he hapa. Me taapiri te whakahaere hapa ki konei. */
}
Te taapiri i tetahi Tauira Tauranga ACM CDC Pūrere USB ki to Pūrere
Hei taapiri i nga mahi a te karaehe CDC ACM ki to taputapu, me hanga e koe he tauira, katahi ka taapiri atu ki te whirihoranga o to taputapu.
Te Waihanga Tauira ACM Class CDC
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
24/174
Ka mutuview
Te taapiri i te tauira ACM Class CDC ki te (ng) Whirihoranga o to Pūrere Rehita Waea Whakamōhiotanga Takahanga
Te Waihanga Tauira ACM Class CDC
aa M aaa Cre te CDC AC cl ss inst nce by c lling the function sl_usbd_cdc_acm_create_instance() . T aaa M aaa he tauira i raro nei e whakaatu ana me pehea te hanga CDC AC cl ss inst nce vi sl_usbd_cdc_acm_create_instance() .
Example – Waihangahia he Mahi CDC ACM ma te sl_usbd_cdc_acm_create_instance()
uint8_t subclass_nbr; sl_status_t tūnga;
tūnga = sl_usbd_cdc_acm_create_instance(64u, SL_USBD_ACM_SERIAL_CALL_MGMT_DATA_CCI_DCI | SL_USBD_ACM_SERIAL_CALL_MGMT_DEV, NULL, &subclass_nbr);
ki te (tuanga ! SL_STATUS_OK) { /* I puta he hapa. Me taapiri te whakahaere hapa ki konei. */
}
Te taapiri i te tauira ACM Class CDC ki te (ng) Whirihoranga o to Pūrere
I muri i to hanga i tetahi tauira o te akomanga ACM CDC, ka taea e koe te taapiri atu ki tetahi whirihoranga ma te waea i te mahi
sl_usbd_cdc_acm_add_to_configuration() .
Ko te tauira i raro nei e whakaatu ana me pehea te c ll sl_usbd_cdc_acm_add_to_configuration() .
Example – Waea ki USBD ACM sl_usbd_cdc_acm_add_to_configuration()
sl_status_t tūnga;
tūnga = sl_usbd_cdc_acm_add_to_configuration(subclass_nbr,
(1)
config_nbr_fs);
(2)
ki te (tuunga ! SL_STATUS_OK) {
/* I puta he hapa. Me taapiri te whakahaere hapa ki konei. */
}
aaa (1) Cl ss tau ki te dd ki te whirihoranga i whakahokia mai e sl_usbd_cdc_acm_create_instance() . (2) Tau whirihora (i konei ka taapiri atu ki te whirihoranga Tere-Katoa).
Te Rēhita Waea Whakamōhiotanga Takahanga
Ka taea e te akomanga Rangatū CDC ACM te whakamohio i to tono mo nga whakarereketanga o te mana raina, te whakawaehere ranei ma nga mahi waea whakahoki whakamohio. Ka taea te tuku i tetahi hanganga mahi hokinga mai hei tohenga i te wa o te hanganga tauira ACM. Kia mahara ko enei waea hoki he mea whiriwhiri. Example – Ko te Rehitatanga Waea Whakamuri CDC ACM e whakaatu ana i te whakamahinga o nga mahi rehita waea hoki. Example – CDC ACM Callbacks Implementation shows an example o te whakatinanatanga o nga mahi waea hoki.
Example – CDC ACM Waea Rehitatanga
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
25/174
Ka mutuview
uint8_t subclass_nbr; sl_status_t tūnga;
sl_usbd_cdc_acm_callbacks_t sli_usbd_cdc_acm_callbacks = { app_usbd_cdc_acm_connect, app_usbd_cdc_acm_disconnect, app_usbd_cdc_acm_line_control_changed, app_usbd_cd_c_acmd_line
tūnga = sl_usbd_cdc_acm_create_instance(64u, SL_USBD_ACM_SERIAL_CALL_MGMT_DATA_CCI_DCI | SL_USBD_ACM_SERIAL_CALL_MGMT_DEV, &sli_usbd_cdc_acm_callbacks, &subclass_n);
ki te (tuanga ! SL_STATUS_OK) { /* I puta he hapa. Me taapiri te whakahaere hapa ki konei. */ }
Example – Whakatinana Waea Whakamuri CDC ACM
bool app_usbd_cdc_acm_line_coding_changed (uint8_t
karaehe_nbr,
sl_usbd_cdc_acm_line_coding_t *p_line_coding)
{
uint32_t baudrate_new;
uint8_t parity_new;
uint8_t stop_bits_new;
uint8_t data_bits_new;
/* TODO Hoatuhia te waehere raina hou.*/ baudrate_new = p_line_coding->BaudRate; parity_new = p_line_coding->Parite; stop_bits_new = p_line_coding->StopBits; moka_raraunga_hou = p_line_coding->DataBits;
hoki mai (pono);
(1)
}
whakakorea te app_usbd_cdc_acm_line_control_changed (uint8_t subclass_nbr, uint8_t takahanga, uint8_t takahanga_changed)
{ bool rts_state; bool rts_state_changed; bool dtr_state; bool dtr_state_changed; bool brk_state; bool brk_state_changed;
/* TODO Hoatu te mana raina hou. */ rts_state = ((takahanga & SL_USBD_CDC_ACM_CTRL_RTS) ! 0) ? pono : teka; rts_state_changed = ((takahanga_hurihia & SL_USBD_CDC_ACM_CTRL_RTS) ! 0) ? pono : teka; dtr_state = ((takahanga & SL_USBD_CDC_ACM_CTRL_DTR) ! 0) ? pono : teka; dtr_state_changed = ((takahanga_hurihia & SL_USBD_CDC_ACM_CTRL_DTR) ! 0) ? pono : teka; brk_state = ((takahanga & SL_USBD_CDC_ACM_CTRL_BREAK) ! 0) ? pono : teka; brk_state_changed = ((takahanga_hurihia & SL_USBD_CDC_ACM_CTRL_BREAK) ! 0) ? pono : teka;
}
(1) He mea nui ki te whakahoki teka ki tenei mahi mena i rahua te tono tohu raina. Ki te kore, whakahokia pono.
Te Whakawhitiwhiti Ma te whakamahi i te akomanga ACM CDC
Tūnga Rangatū
Whakawaehere Raina Mana Raina
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
26/174
Ka mutuview
Whakawhitiwhiti Tikanga Tauira Raina Raina Raina
Tūnga Rangatū
Whakawaehere Raina
Ko te kaihautu USB e whakahaere ana i te tohu raina (te reiti, te parity, me etahi atu) o te taputapu CDC ACM. I te wa e tika ana, ko te tono te kawenga mo te whakatakoto i te waehere raina. E rua nga mahi e whakaratohia ana ki te tiki me te tautuhi i te whakawaehere raina o naianei, penei i te korero i te ripanga i raro nei.
Ripanga - Nga Mahi Whakawaehere Raina CDC ACM
Mahi
sl_usbd_cdc_acm_g e t_line _co d ing ()
sl_usbd_cdc_acm_s e t_line _co d ing ()
Whakaahuatanga
Ka taea e to tono te tiki i nga tautuhinga whakawaehere raina o naianei mai i te kaihautu me nga tono SetLineCoding me te mahi sl_usbd_cdc_acm_set_line_coding() .
Ka taea e to tono te tautuhi i te waehere raina. Ka taea e te kaihautu te tango i nga tautuhinga me te tono GetLineCoding.
Mana Raina
Ka whakahaerehia e te kaihautu USB te mana o te raina (RTS me DTR pine, tohu pakaru, me etahi atu) o te taputapu CDC ACM. I te wa e tika ana, kei to tono te kawenga mo te tono i nga mana raina. Ka whakaratohia he mahinga hei tiki me te tautuhi i nga mana raina o naianei, penei i te korero i te ripanga i raro nei.
Ripanga - Nga Mahi Whakahaere Raina CDC ACM
Mahi
sl_usb d _cd c_acm_g e t_line _co ntr o l_state ()
Ka taea e to tono te tiki i te ahua o te raina mana kua whakaritea e te kaihautu me te tono SetControlLineState.
Whenua Raina
Ka tangohia e te kaihautu USB te ahua o te raina i te waa. Me whakahōu tō tono i te āhua rārangi ia wā ka huri. I te wa e tika ana, ko to tono te kawenga mo te whakatakoto i te ahua o te raina. E rua nga mahi e whakaratohia ana hei tiki me te tautuhi i nga mana raina o naianei, penei i te korero i te ripanga i raro nei.
Ripanga - CDC ACM Raina S tate Mahi
Mahi
sl_usb d _cd c_acm_se t _raina _state _e ve nt()
sl_usbd_cdc_acm_cle ar_line _state _e ve nt()
Ka taea e to tono te whakarite i nga huihuinga ahua raina. I a koe e whakatakoto ana i te ahua o te raina, ka tukuna he whakawhitinga IN haukoti ki te kaihautu ki te whakamohio atu mo te huringa o te ahua o te raina rangatū.
Ka taea e te tono te whakakore i nga huihuinga e rua o te ahua o te raina: te kaikawe tuku me te kitenga kawe kawe. Ko era atu huihuinga katoa he mea whakawāteahia e te ACM rangatū tauira tauira.
Tauwhitinga Tauira Raroroto
Silicon Labs 'ACM subclass e tuku ana i nga mahi e whai ake nei hei korero ki te kaihautu. Mo etahi atu korero mo nga tawhā mahi9, tirohia te tohutoro mo te CDC ACM Subclass Functions.
Ingoa mahi
sl_usb d _cd c_acm_ re ad () sl_usb d _cd c_acm_write ()
Mahi
Ka whiwhi raraunga mai i te kaihautu mai i te waahi mutunga OUT. Kei te aukati tenei mahi. Ka tuku raraunga ki te manaaki i roto i te waahi mutunga IN. Kei te aukati tenei mahi.
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
27/174
Ka mutuview
Ripanga – CDC ACM Communication API Whakarāpopototanga aaaaa sl_usbd_cdc_acm_read() nd sl_usbd_cdc_acm_write() whakarato i nga whakawhitiwhiti korero tukutahi, kei te aukati te tr nsfer. I etahi atu kupu, i runga i te karanga i te mahi, ka poraka te tono kia oti ra ano te whakawhitinga me te kore he hapa ranei. Ka taea te whakawhāitihia he waahi kia kore e tatari mo ake tonu atu. Ko te exampKei raro nei he panui me te tuhi exampka whiwhi raraunga mai i te kaihautu ma te whakamahi i te nuinga o te mutunga OUT me te tuku raraunga ki te kaihautu ma te whakamahi i te nuinga o te mutunga IN.
Rarangi - Rangatū Panui me te Tuhi Example
__ALIGNED(4) uint8_t rx_buf[2];
__ALIGNED(4) uint8_t tx_buf[2];
uint32_t
xfer_len;
sl_tu_t
tūnga;
tūnga = sl_usbd_cdc_acm_read(subclass_nbr,
(1)
rx_buf,
(2)
2u,
0u,
(3)
&xfer_len);
ki te (tuunga ! SL_STATUS_OK) {
/* I puta he hapa. Me taapiri te whakahaere hapa ki konei. */
}
tūnga = sl_usbd_cdc_acm_write(subclass_nbr,
(1)
tx_buf,
(4)
2u,
0u,
(3)
&xfer_len);
ki te (tuunga ! SL_STATUS_OK) {
/* I puta he hapa. Me taapiri te whakahaere hapa ki konei. */
}
T aaaaa M (1) he cl ss inst nce number cre ted with sl_usbd_cdc_acm_create_instance() e whakarato ana i te tohutoro a te tangata ki te akomanga iti AC hei arai i te whakawhiti ki te nuinga o OUT, IN mutunga ranei. (2) Me whakarite e to tono he nui te parepare e whakaratohia ana ki te mahi hei whakauru i nga raraunga katoa. Ki te kore, ka puta nga take tukutahi. (3) Hei karo i te ahuatanga aukati mutunga kore, whakapūtāhia he wā roa kua tohua ki roto i te haumano hēkona. Ko te uara o te 809 ka tatari te mahi tono mo ake tonu atu. (4) Ko te tono e whakarato ana i te parapara tuku tuatahi.
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
28/174
Ka mutuview
Ka mutuview
Ko te akomanga HID Pūrere USB
USB Pūrere HID Class Overview Pūrere USB HID Rauemi Akomanga Hiahia mai i te Utu USB Pūrere HID Whirihoranga Karaehe Pūrere USB HID Aratohu Papatonotanga Akomanga HID Waa-Wai Nga Ripoata Whakauru.
Ko tenei waahanga e whakaatu ana i te akomanga Atanga Tangata (HID) e tautokohia ana e Silicon Labs USB Device.
Kei roto i te akomanga HID nga taputapu e whakamahia ana e te tangata hei whakahaere i nga mahi rorohiko, penei i nga papapātuhi, nga kiore, nga taputapu tohu, me nga taputapu keemu.
Ka taea hoki te whakamahi i te karaehe HID i roto i tetahi taputapu hiato kei roto nga mana penei i nga puku, nga huringa, nga paatene, me nga riipene. Mo te exampKo te wahangu me nga mana oro i roto i te puoro ororongo e whakahaerehia ana e te mahi HID o te pane. Ka taea e te akomanga HID te whakawhiti raraunga mo tetahi kaupapa ma te whakamahi i te mana whakahaere me te aukati i nga whakawhitinga.
Ko te akomanga HID tetahi o nga karaehe USB tawhito me te nuinga o te whakamahi. Ko nga punaha whakahaere nui katoa e whakarato ana i te taraiwa taketake hei whakahaere i nga taputapu HID, na reira ka mahi tahi nga momo momo taputapu motuhake me te akomanga HID. Kei roto hoki i tenei akomanga nga momo momo mea whakaputa penei i te LED, te ororongo, te urupare tactile, etc.
Ko te whakatinanatanga HID e tutuki ana ki nga whakaritenga e whai ake nei:
Whakamaramatanga Karaehe Pūrere mo nga Pūrere Atanga Tangata (HID), 6/27/01, Putanga 1.11. Nga Ripanga Whakamahi HID Bus Serial Universal, 10/28/2004, Putanga 1.12.
USB Pūrere HID Class Overview
Ka mutuview
Ko te taputapu HID kei roto i nga pito e whai ake nei:
He rua mana whakahaere I roto me OUT ira mutunga e kiia ana ko te mutunga taunoa He haukoti I te pito mutunga He haukoti hei kowhiri i te mutunga KORE.
Ko te ripanga i raro nei e whakaatu ana i te whakamahinga o nga momo pito mutunga:
Ripanga – HID Class Endpoints Mahinga
Te Whakamahi Aronga Whakamutunga
Mana IN
Whakahaere
KI WAHO
Haukoti IN
Whakakore
KI WAHO
Pūrere ki-kaihautū
Kaihautū-ki te taputapu
Pūrere ki-kaihautū
Kaihautū-ki te taputapu
Ko nga tono paerewa mo te tatauranga, nga tono mo te karaehe, me te whakawhitiwhiti raraunga (Tauru, Nga purongo Whakaaturanga ka tukuna ki te kaihautu me te tono GET_REPORT). Ko nga tono paerewa mo te tatauranga, nga tono mo te karaehe me te whakawhitiwhiti korero raraunga (Putanga, Purongo Whakaaturanga i riro mai i te kaihautu me te tono SET_REPORT). Whakawhitiwhiti Raraunga (Purongo Whakauru me te Whakaaturanga).
Whakawhitiwhiti Raraunga (Purongo Putanga me te Whakaaturanga).
Ripoata
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
29/174
Ka mutuview
He kaihautu me tetahi taputapu HID whakawhiti raraunga ma te whakamahi i nga purongo. Kei roto i tetahi ripoata nga raraunga whakahōputu e whakaatu ana i nga korero mo nga mana whakahaere me etahi atu hinonga tinana o te taputapu HID. Ka taea e te kaiwhakamahi te whakahaere me te whakahaere i tetahi waahanga o te taputapu. Mo te exampKa taea e te mana he patene i runga i te kiore, i te papapātuhi ranei, i te whakawhiti, me etahi atu. Ko etahi atu hinonga e whakaatu ana ki te kaiwhakamahi te ahua o etahi ahuatanga o te taputapu. Mo te exampKo nga LED i runga i te papapātuhi e whakaatu ana ki te kaiwhakamahi mo te maukati potae, te kaha o te papapātuhi tau, aha atu.
Ko te whakatakotoranga me te whakamahinga o te raraunga ripoata ka mohiohia e te kaihautu ma te wetewete i nga ihirangi o tetahi Kaituhi Ripoata. Ko te wetewete i te ihirangi ka mahia e te kaiporoporo. Ko te Kaituhi Ripoata e whakaatu ana i nga raraunga e whakaratohia ana e ia mana whakahaere i roto i tetahi taputapu. He mea titoa he tuemi he waahanga korero mo te taputapu me te 1-paita prefix me te rereke-roa.
raraunga. Mo etahi atu korero mo te whakatakotoranga tuemi, tirohia
1.11=, wahanga 5.6 me 6.2.2.
E toru nga momo tino taonga:
Ko te mea matua ka tautuhi, ka whakarōpū ranei i etahi momo mara raraunga.
Ko te taonga o te ao e whakaatu ana i nga ahuatanga raraunga o te mana.
Ko te taonga paetata e whakaatu ana i nga ahuatanga raraunga o te mana.
Ko ia momo tuemi ka tautuhia e nga mahi rereke. Ka taea hoki te kii he mahi taonga he tag. Ka taea te kite i tetahi mahi tuemi he mea iti no tetahi o nga momo taonga matua e toru. Ko te ripanga i raro nei he korero potoview o nga mea9s mahi i ia momo tuemi. Mo te whakamaarama katoa mo nga taonga o ia waahanga, tirohia
Ripanga – Whakaahuatanga Mahi a te Tuemi mo ia Momo Tuemi
Taumahi Momo Tuemi
Whakaahuatanga
Whakauru Matua
Ka whakaahua i nga korero mo nga raraunga i homai e tetahi, neke atu ranei o nga mana tinana.
Putanga Matua He whakaahua i nga raraunga i tukuna ki te taputapu.
Āhuahira Matua
He whakaahua i nga korero whirihoranga taputapu ka tukuna mai, ka riro mai ranei mai i te taputapu ka awe i te whanonga katoa o te taputapu, tetahi o ona waahanga ranei.
Ko nga taonga e pa ana ki te Rōpū Kohinga Matua (Tauru, Putanga, Whakaaturanga ranei).
Whakamutunga Matua o Katia he kohinga. Kohinga
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
30/174
Ka mutuview
Taumahi Momo Tuemi
Whakaahuatanga
Whārangi Whakamahinga Ao
Ka tautuhi i tetahi mahi e waatea ana i roto i te taputapu.
Global Logical Ka tautuhi i te tepe iti o nga uara kua korerotia i roto i nga wae arorau. Te iti rawa
Global Logical Ka tautuhi i te tepe o runga o nga uara kua korerotia i roto i nga wae arorau. Mōrahi
A tinana o te Ao Ka tautuhi i te tepe iti o nga uara kua ripoatahia i roto i nga waeine tinana, ara ko te Moitinga Arorau e whakaatuhia ana i roto i nga waeine tinana.
A tinana o te Ao Ka tautuhi i te tepe o runga o nga uara kua ripoatahia i roto i nga waeine tinana, ara ko te Morahi Arorau Morahi e whakaatuhia ana i roto i nga waeine tinana.
Waeine Ao
Ka tohu i te taupū wae i te turanga 10. Ko te taupūtanga mai i te -8 ki te +7.
Tautoko
Waeine Ao
Ka tohu i te waeine o nga uara kua ripoatatia. Hei tauira, te roa, te papatipu, te wae pāmahana, aha atu.
Rahi Pūrongo o te Ao
Ka tohu i te rahi o nga apure ripoata ki nga moka.
Ko te ID Ripoata o te Ao Ka tohu i te prefix kua tapirihia ki tetahi purongo.
Tatau Ripoata o te Ao
He tohu i te maha o nga mara raraunga mo tetahi mea.
Pana Ao
Whakatakotoria he kape o te ripanga tūemi o te ao ki te tāpae PTM.
Pop Ao
Ka whakakapi i te ripanga tūemi ki te hanganga whakamutunga mai i te tāpae.
Whakamahinga Paetata
He tohu tohu hei tohu i tetahi Whakamahinga motuhake i roto i tetahi Whārangi Whakamahinga. E tohu ana nga kaihoko9 e whakaaro ana kia whakamahia mo tetahi mana motuhake, roopu mana ranei. Ko te whakamahinga he tuku korero ki tetahi kaiwhakawhanake tono mo te ine o te mana.
Whakamahinga Paetata
Ka tautuhi i te whakamahinga timatanga e hono ana ki te huranga, maheremoka ranei.
Te iti rawa
Whakamahinga Paetata
Ka tautuhi i te whakamahinga mutunga e hono ana ki te huānga, maheremoka ranei.
Mōrahi
Kaitohu Paetata Ka whakatau i te wahanga tinana e whakamahia ana mo te mana whakahaere. Ka tohu te taurangi ki tetahi tohu i roto i te Tinana
Taurangi
kaiwhakaahua.
Kaitohu Paetata Ka tautuhi i te taupū o te kaitoi timata e hono ana ki te huranga, maheremoka ranei. Te iti rawa
Kaitohu Paetata Ka tautuhi i te taupū o te kaitoi mutunga e hono ana ki te huranga, maheremoka ranei. Mōrahi
Taurangi Aho Paetata
Taupū aho mo te kaiwhakaahua aho. Ka taea e te aho te hono ki tetahi mea, mana whakahaere ranei.
Aho Paetata
Ka whakapūtā te taupū aho tuatahi ina tautapahia he roopu aho raupapa ki nga mana whakahaere i roto i te huānga
Te iti, te maheremoka ranei.
Paetata
Aho Morahi
Kaiwehe
Ka tautuhi i te taupū aho whakamutunga ina tautapahia he roopu aho raupapa ki nga mana whakahaere i roto i te huānga, maheremoka ranei.
Ka tautuhi i te timatanga, te mutunga ranei o te huinga o nga taonga o te rohe.
Ko nga raraunga mana9 me tautuhi i nga mea e whai ake nei:
Tāuru, Huaputa, Āhuahira rānei Ngā tūemi matua Whakamahi tūemi ā-rohe Whakamahitanga Whārangi Tuemi o te ao Arorau Te iti o te ao Te mea arorau Te nui o te ao Pūrongo Rahi o te ao.
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
31/174
Ka mutuview
Tatau Pūrongo Tuemi o te ao Ko te ripanga i raro nei e whakaatu ana i te whakaaturanga o te ihirangi kaiwhakaahua Ripoata Kiore mai i te tirohanga kaihautu HID parser. E toru nga patene o te kiore (maui, matau, me te wira). Ko te waehere e whakaatuhia ana i te exampKei raro iho nei he whakatinanatanga waehere e pa ana ki tenei whakaaturanga whakaahua whakaahua kiore.
Pikitia – Ripoata Ihirangi Whakaahua mai i te Kaihautu HID Parser View
(1) Ko te mahi o te wharangi Whakamahi e whakaatu ana i te mahi whanui o te taputapu. I roto i tenei exampe, no a te taputapu HID
mana papamahi whānui.
(2) Ko nga Kohinga Tono ka whakarōpū i nga mea matua he kaupapa kotahi, he mohio pea ki nga tono. I roto i te hoahoa, ko te roopu e toru nga mea whakauru matua. Mo tenei kohinga, ko te kiore e whakaarohia ana mo nga mana whakahaere he kiore e tohuhia ana e te mea Whakamahi. (3) Ka taea te whakamahi i nga kohinga kohanga hei whakaatu i etahi atu korero mo te whakamahinga o te mana kotahi, te roopu mana ranei ki nga tono. I roto i tenei exampKo te Kohinga Tinana, kua kohanga ki roto i te Taupānga Kohinga, kei roto i nga mea e toru o te Taurutanga e hanga ana i te Tono Kohinga. Ka whakamahia te Kohinga Tinana mo te huinga tuemi raraunga e tohu ana i nga tohu raraunga i kohia ki tetahi ira ahuahanga. I roto i te exampAe, ko te whakamahinga e whakaarohia ana he atatohu e tohuhia ana e te mea Whakamahi. I konei ko te whakamahinga o te atatohu e pa ana ki nga taunga tuunga kiore ka whakamaoritia e te punaha punaha nga taunga kiore i te neke o te pehu mata. (4) Ka taea hoki nga wharangi whakamahi kohanga me te whakaatu atu i nga korero mo tetahi waahanga i roto i te mahi whanui o te taputapu. I tenei keehi, ka whakarōpūhia nga taonga Whakauru e rua ka rite ki nga paatene o te kiore. Ko tetahi Tuemi Whakauru ka tautuhi i nga patene e toru o te kiore (matau, maui me te wira) i runga i te maha o nga mara raraunga mo te mea (Tuemi Tatau Ripoata), te rahi o te mara raraunga (Tuemi Rahi Ripoata) me nga uara e taea ana mo ia mara raraunga (Whakamahinga Moiti me te Morahi, Nga mea iti me te Morahi). Ko tetahi atu mea Whakauru he moka-13 tonu e taea ai te whakatiarohia nga raraunga ripoata Whakauru ki runga i te rohe paita. Ka whakamahia tenei mea Whakauru mo te kaupapa hoe anake. (5) Ko tetahi atu wharangi whakamahi kohanga e tohu ana ki te mana papamahi whanui kua tautuhia mo nga taunga tuunga kiore. Mo tenei wharangi whakamahinga, ko te Tuemi Whakauru e whakaatu ana i nga mara raraunga e pa ana ki te tuaka-x me te tuaka-y i tohua e nga Whakamahinga e rua.
tūemi.
Whai muri i te wetewete i te ihirangi kaiwhakaahua Ripoata kiore o mua, ka taea e te kaihautu HID parser te whakamaori i nga raraunga ripoata Input i tukuna e te taputapu me te whakawhiti IN haukoti, hei whakautu ranei ki te tono GET_REPORT. Ko te Raraunga Ripoata Whakauru e rite ana ki te Kaiwhakaahua Ripoata kiore e whakaatuhia ana i te Whakaahua - Ripoata Kaihanga Kaituhi mai i te Kaihautu HID Parser View is
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
32/174
Ka mutuview
kua whakaaturia ki te ripanga i raro nei. Ko te rahi katoa o nga raraunga ripoata he 4 paita. Ka tukuna nga momo purongo rereke i runga i te pito mutunga kotahi. Mo te wehewehe i nga momo purongo, ka taapirihia he 1-paita TT ID ki te purongo raraunga. Mena i whakamahia he ID ripoata i roto i te exampo te purongo kiore, ko te rahi katoa o nga raraunga ripoata kia 5 paita.
Ripanga – Ko te Ripoata Whakauru ka tukuna ki te Kaihautu me te rite ki te ahua o te kiore 3 patene
Moka Offset
0 1 2 3 16 24
Tatau Moka 1 1 1 13 8 8
Pātene Whakaahua 1 (pātene mauī). Pātene 2 (pātene matau). Patene 3 (patene wira). Kaore i whakamahia. Turanga ki te tuaka X. Turanga ki te tuaka Y.
Ko te Kaituhi-a-tinana e tohu ana i te waahanga, i nga waahanga ranei o te tinana e kii ana hei whakahohe i te mana whakahaere. Ka whakamahi pea te tono i enei korero hei tautapa i tetahi mahi ki te mana whakahaere o tetahi taputapu. Ko te kaiwhakaahua-a-tinana he kaiwhakaahua mo te karaehe motuhake, he iti noa te painga o te nuinga o nga taputapu mo te whakamahi. Tirohia
USB Pūrere HID Class Rauemi Hiahia mai i Core
Ia wa ka taapirihia e koe he tauira akomanga HID ki te whirihoranga USB ma te waea ki te mahi sl_usbd_hid_add_to_configuration() , ka tohatohahia nga rauemi e whai ake nei mai i te matua.
Rauemi
Atanga Atanga Atanga Whakamutunga Rōpū Atanga
Te nui
1 1 1 (2 ki te whakahohea te waahi mutunga OUT) 0
Kia mahara ko aua nama kei ia whirihoranga. Ina whakarite i to SL_USBD_INTERFACE_QUANTITY , SL_USBD_ALT_INTERFACE_QUANTITY , SL_USBD_INTERFACE_GROUP_QUANTITY me SL_USBD_DESCRIPTOR_QUANTITY uara whirihoranga, kaua e wareware ki te whai whakaaro mo te maha o nga whirihoranga ka taapirihia e te akomanga. Mo te uara whirihoranga SL_USBD_OPEN_ENDPOINTS_QUANTITY, i te mea ka whakatuwherahia nga pito mutunga ka whakatauhia e te kaihautu he whirihoranga, me whai whakaaro noa koe ki te maha o nga pito e hiahiatia ana mo tetahi tauira karaehe.
Whirihoranga Karaehe HID Pūrere USB
E rua nga roopu tawhā whirihora e whakamahia ana hei whirihora i te akomanga HID:
Taupānga Taupānga Taupānga Taupānga Taupānga USB HID HID USB Tauira Tauira Tauira HID Pūrere USB
USB Pūrere HID Taupānga Taupānga-Tautuhi Whirihoranga
Tuatahi, ki te whakamahi i te taputapu USB Silicon Labs HID class module, whakatikahia te HID whakahiato-wa whirihoranga kia rite ki o hiahia tono. Ka whakarōpūhia ki roto i te pane sl_usbd_core_config.h file i raro i te waahanga HID. Ka taea te wehewehe ki nga waahanga e rua, nga whirihoranga rahinga me nga whirihoranga mahi HID. Ko te kaupapa o nga whirihoranga rahinga he whakamohio i te waahanga taputapu USB mo te maha o nga mea HID USB hei tohatoha.
Ko te ripanga i raro nei e whakaatu ana i ia tautuhinga whirihoranga.
Ripanga – Tautuhia te Whirihoranga HID Pūrere USB
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
33/174
Ka mutuview
Ingoa Whirihoranga
SL_USBD_HID_CL ASS_I NSTANCE_QUANTITY
SL_USBD_HID_CONFIG URATION_QUANTITY
SL_USBD_HID_REPORT_ ID_QUANTITY
SL_USBD_HID_PUSH_P OP_ITEM_QUANTITY
SL_USBD_HID_TIMER_T ASK_STACK_SIZE
SL_USBD_HID_TIMER_T ASK_PRIORITY
Whakaahuatanga
Te maha o nga tauira akomanga ka tohaina e koe ma te waea ki te mahi
sl_usbd_hid_create_instance() .
Te maha o nga whirihoranga. Ka taea te taapiri i nga tauira akomanga HID ki tetahi, neke atu ranei nga whirihoranga aaaa ki te mahi sl_usbd_hid_add_to_configuration() . Ka whirihora i te tapeke o nga ID ripoata hei tohatoha.
Ka whirihorahia te tapeke o nga taonga Push/Pop hei tohatoha.
Ka whakahaerehia e te mahi matama nga mahi HID katoa e pa ana ki te matama. Ma tenei whirihoranga ka taea e koe te whakarite i te rahi o te puranga (i te maha o nga paita). Ko te kaupapa matua o te mahi HID. ko tana he kaupapa matua CMSIS-RTOS2.
Uara Taunoa
2 1 2 0 2048
osPriorityHigh
Pūrere USB HID Tauira Tauira Whirihoranga Karaehe Tauira Waihanga akomanga iti
kawa whenua_waehere
interval_in and interval_out p_hid_callback HID Class Report Descriptor Example Ko tenei waahanga ka tautuhi i nga whirihoranga e pa ana ki nga tauira HID akomanga.
Waihanga Tauira Akomanga
Ko te hanga tauira HID akomanga ka mahia ma te karanga i te mahi aaa sl_usbd_hid_create_instance() , e wehewehe ana i nga tautohenga whirihora e whakaahuatia ana i raro nei.
karaehe iti
Waehere o te akomanga iti HID. Ko nga uara pea:
SL_USBD_HID_SUBCL ASS_KORE SL_USBD_HID_SUBCL ASS_BOOT
Ko te taputapu HID e whakamahi ana i te karaehe boot me whakamahi i nga whakatakotoranga purongo paerewa. Mo etahi atu korero mo nga waehere karaehe iti, tirohia te waahanga 4.2 o te whakahounga whakaritenga HID 1.11.
kawa
Kawa e whakamahia ana e te taputapu HID. Ko nga uara pea:
SL_USBD_HID_PROTOCOL_KORE SL_USBD_HID_PROTOCOL_KBD SL_USBD_HID_PROTOCOL_MOUSE
Mena he kiore to mahi HID, me tautuhi te kawa ki aa SL_USBD_HID_PROTOCOL_MOUSE . Mēnā he papapātuhi, me tautuhi ki SL_USBD_HID_PROTOCOL_KBD . ki te kore, me tautuhi te kawa ki SL_USBD_HID_PROTOCOL_NONE . Mo etahi atu korero mo nga waehere karaehe iti, tirohia te waahanga 4.3 o te whakahounga whakaritenga HID 1.11.
whenua_waehere
ID o te waehere whenua. Ko nga uara pea:
SL_USBD_HID_COUNTRY_CODE_NOT_SUPPORTED
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
34/174
Ka mutuview
SL_USBD_HID_COUNTRY_CODE_ARABIC SL_USBD_HID_COUNTRY_CODE_BELGIAN SL_USBD_HID_COUNTRY_CODE_CANADIAN_BILINGUAL SL_USBD_HID_COUNTRY_CODE_CANADIAN_FRENCH SL_USBD_HID_COUNTRY_CODE_CODE_CANADIAN SL_USBD_HID_COUNTRY_CODE_DANISH SL_USBD_HID_COUNTRY_CODE_FINNISH SL_USBD_HID_COUNTRY_CODE_WRENCH SL_USBD_HID_COUNTRY_CODE_GERMAN SL_USBD_HID_COUNTRY_CODE_GREEK SL_USBD_CODE. SL_USBD_HID_COUNTRY_CODE_HUNGARY SL_USBD_HID_COUNTRY_CODE_INTERNATIONAL SL_USBD_HID_COUNTRY_CODE_ITALIAN SL_USBD_HID_COUNTRY_CODE_JAPAN_KATAKANA SL_USBD_HID_COUNTRY_CODE_KORE_HID_CODE_KORE_HID SL_USBD_HID_COUNTRY_CODE_NETHERL ANDS_DUTCH SL_USBD_HID_COUNTRY_CODE_NORWEGIAN SL_USBD_HID_COUNTRY_CODE_PERSIAN_FARSI SL_USBD_HID_COUNTRY_CODE_POL AND SL_USBD_HID_PORTUG_SECODE SL_USBD_HID_COUNTRY_CODE_RUSSIA SL_USBD_HID_COUNTRY_CODE_SLOVAKIA SL_USBD_HID_COUNTRY_CODE_SPANISH SL_USBD_HID_COUNTRY_CODE_SWEDISH SL_USBD_HID_COUNTRY_CODE_SWISS_FRENCH_HID_SWGER_ SL_USBD_HID_COUNTRY_CODE_SWITZERL ME SL_USBD_HID_COUNTRY_CODE_TAIWAN SL_USBD_HID_COUNTRY_CODE_TURKISH_Q SL_USBD_HID_COUNTRY_CODE_UK SL_USBD_HID_COUNTRY_CODE_US SL_USBD_CODE_US SL_USBD_CODE_US SL_USBD_CODE_US SL_USBD_CODE_US SL_USBD_HID_COUNTRY_CODE_TURKISH_F
Ko te waehere whenua e tohu ana mo tehea whenua te waahi mo te taputapu. Ko te nuinga o nga taputapu kaore i te waahihia, no reira ko tenei aaaav lue he SL_USBD_HID_COUNTRY_CODE_NOT_SUPPORTED (0). Heoi ano, ka whakamahia e au te mara ki te tohu i te reo o nga potae matua.
Mo etahi atu korero mo nga waehere whenua, tirohia te waahanga 6.2.1 o te whakahounga whakahuahua HID 1.11.
wā_i roto me te wā_waho
Ko te waahi_roto me te waahi_waho e tohu ana i te waahi pooti o te waahi mutunga haukoti IN me te waahi mutunga aukati OUT.
He tohu tenei mo te wa pooti o te pito mutunga, i roto i nga manomano. Ko te whakarite i tenei uara ka whakawhirinaki ki te maha o nga wa ka taea e to taputapu te whakaputa purongo hou mo te kaihautu. Hei tauira, ki te hangaia he purongo ia 16 manomano, me 16 iti iho ranei te waahi.
Me whai mana te uara o te 2 (1, 2, 4, 8, 16, etc.).
ka warewarehia he waahi_waho mena ka tautuhia te ctrl_rd_en ki te pono.
p_huna_whakahoki
aaaa p_hid_callback he tohu ki te hanganga o te momo sl_usbd_hid_callbacks_t. Ko tana kaupapa ko te hoatu i te huinga HID Cl ss o nga mahi waea hoki kia karangahia ina puta he huihuinga HID.
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
35/174
Ka mutuview
Ehara i te mea whakahau nga hokiwaea katoa, a ka taea te tuku i te atatohu null ( NULL ) i roto i te taurangi hanganga waea hoki ina kore e hiahiatia te hokiwaea. Ko te ripanga i raro nei e whakaatu ana i ia mara whirihoranga e waatea ana i tenei hanganga whirihoranga.
Ripanga – sl_usbd_hid_callbacks_t Hanganga Whirihoranga
Nga mara
Whakaahuatanga
Waitohu Mahi
.whakahohe .whakakore .get_report_desc
.get_phy_desc
.set_output_report .get_feature_report .set_feature_report
Ka karangahia i te wa e taea ana te tauira akomanga USB. Ka karangahia ina monoa te tauira akomanga USB.
I karangahia i te wa o te waihanga HID Instance ki te tuku i to kaiwhakaahua ripoata. Mo ia mahi HID, me whakarato e koe he kaiwhakaahua ripoata. Ko te kaiwhakaahua ripoata e whakaatu ana ki te kaihautu me pehea te whakamaarama i te purongo o ia wa ka tukuna e te taputapu. He uaua te tuhi i a koe ake korero korero, na reira kei reira etahi rauemi hei awhina. Ko tenei anake te mahi waea whakahoki whakahau. I karangahia i te wa o te waihanga HID Instance ki te tuku i to kaiwhakaahua tinana. Ko te kaiwhakaahua-a-tinana he kaiwhakaahua e whakarato ana i nga korero mo te waahanga motuhake, nga waahanga ranei o te tinana o te tangata e whakahohe ana i te mana whakahaere. Mo te roanga atu o nga korero mo nga kaiwhakaahua tinana, tirohia te waahanga 6.2.3 o te whakahounga whakaritenga HID 1.11. Ko te whakamaarama a-tinana he mea whiriwhiri me te nuinga o te waa ka warewarehia. Ko te parepare i tukuna i konei ka taea te tautuhi ki te NULL me te roa ka tautuhia ki te 0. Ka karangahia ina whakatauhia e te kaihautu he purongo pera i te korero i roto i to korero korero (ka tukuna he ripoata).
Ka karangahia ina tono te kaihautu i tetahi purongo ahuatanga e whakaahuatia ana i to kaiwhakaahua ripoata.
Ka karangahia i te wa e whakatakotohia ana e te kaihautu he purongo ahuatanga e whakaahuatia ana i to kaiwhakaahua ripoata.
void app_usbd_hid_enable(uint8_t class_nbr); void app_usbd_hid_disable(uint8_t class_nbr); void app_usbd_hid_get_report_desc(uint8_t class_nbr, const uint8_t *p_report_ptr, uint16_tp_report_len);
void app_usbd_hid_get_phy_desc(uint8_t class_nbr, const uint8_t *p_report_ptr, uint16_tp_report_len);
void app_usbd_hid_set_output_report(uint8_t class_nbr, uint8_t report_id, uint8_t *p_report_buf, uint16_t report_len); void app_usbd_hid_get_feature_report(uint8_t class_nbr, uint8_t report_id, uint8_t *p_report_buf, uint16_t report_len); void app_usbd_hid_set_feature_report(uint8_t class_nbr, uint8_t report_id, uint8_t *p_report_buf, uint16_t report_len);
.get_protocol
Tikina kawa hohe onāianei.
void app_usbd_hid_get_protocol(uint8_t class_nbr, uint8_t *p_protocol);
.set_protocol
Ka tautuhi i te kawa hohe o naianei.
void app_usbd_hid_set_protocol(uint8_t class_nbr, uint8_t protocol);
HID Class Report Descriptor Example
Karaehe HID Silicon Labs sampKa whakaratohia e te tono he exampte whakaahua o te ripoata mo te kiore ngawari. Ko te exampKei raro nei e whakaatu ana i tetahi kaiwhakaahua ripoata kiore.
Example – Whakaahua Pūrongo Kiore
uint8_t app_usbd_hid_report_desc[] = {
(1) (2)
SL_USBD_HID_GLOBAL_USAGE_PAGE + 1, SL_USBD_HID_USAGE_PAGE_GENERIC_DESKTOP_CONTROLS,
SL_USBD_HID_LOCAL_USAGE + 1, SL_USBD_HID_CA_MOUSE,
(3)
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
36/174
Ka mutuview
SL_USBD_HID_MAIN_COLLECTION +1, SL_USBD_HID_COLLECTION_APPLICATION,(4)
SL_USBD_HID_LOCAL_USAGE +1, SL_USBD_HID_CP_POINTER,(5)
SL_USBD_HID_MAIN_COLLECTION +1, SL_USBD_HID_COLLECTION_PHYSICAL,(6)
SL_USBD_HID_GLOBAL_USAGE_PAGE +1, SL_USBD_HID_USAGE_PAGE_BUTTON,(7)
SL_USBD_HID_LOCAL_USAGE_MIN +1,0 01,
SL_USBD_HID_LOCAL_USAGE_MAX +1,0 03,
SL_USBD_HID_GLOBAL_LOG_MIN +1,0 00,
SL_USBD_HID_GLOBAL_LOG_MAX +1,0 01,
SL_USBD_HID_GLOBAL_REPORT_COUNT +1,0 03,
SL_USBD_HID_GLOBAL_REPORT_SIZE +1,0 01,
SL_USBD_HID_MAIN_INPUT +1, SL_USBD_HID_MAIN_DATA |
SL_USBD_HID_MAIN_VARIABLE |
SL_USBD_HID_MAIN_ABSOLUTE,
SL_USBD_HID_GLOBAL_REPORT_COUNT +1,0 01,(8)
SL_USBD_HID_GLOBAL_REPORT_SIZE +1,0 0D,
SL_USBD_HID_MAIN_INPUT +1, SL_USBD_HID_MAIN_CONSTANT,(9)
SL_USBD_HID_GLOBAL_USAGE_PAGE +1, SL_USBD_HID_USAGE_PAGE_GENERIC_DESKTOP_CONTROLS,
SL_USBD_HID_LOCAL_USAGE +1, SL_USBD_HID_DV_X,
SL_USBD_HID_LOCAL_USAGE +1, SL_USBD_HID_DV_Y,
SL_USBD_HID_GLOBAL_LOG_MIN +1,0 81,
SL_USBD_HID_GLOBAL_LOG_MAX +1,0 7F,
SL_USBD_HID_GLOBAL_REPORT_SIZE +1,0 08,
SL_USBD_HID_GLOBAL_REPORT_COUNT +1,0 02,
SL_USBD_HID_MAIN_INPUT +1, SL_USBD_HID_MAIN_DATA |
SL_USBD_HID_MAIN_VARIABLE |
SL_USBD_HID_MAIN_RELATIVE,
SL_USBD_HID_MAIN_ENDCOLLECTION,(10)
SL_USBD_HID_MAIN_ENDCOLLECTION
(11)};
(1) Ko te ripanga e tohu ana i te whakamaarama ripoata kiore ka arawhitihia kia rite ai ia raina ki tetahi mea poto. Ko te mea whakamutunga i hangaia mai i te 1-paita mua me te 1-paita raraunga. Tirohia viewed by a host HID parser in Figure – Report Descriptor Content from a Host HID Parser View.
(2) Ka whakamahia te Wharangi Whakamahi Papamahi Generic.
(3) I roto i te Wharangi Whakamahi Papamahi Generic, te whakamahinga tag E tohu ana ko te roopu mana whakahaere mo te whakahaere kiore. Ko te kohinga kiore e rua nga toki (X me Y) me te kotahi, e rua, e toru nga patene.
(4) Kua timata te kohinga kiore.
(5) I roto i te kohinga kiore, he whakamahinga tag Ko te whakaaro ake ko nga mana kiore no te kohinga atatohu. Ko te kohinga atatohu he kohinga toki ka whakaputa uara hei arahi, hei tohu, hei tohu ranei i nga hiahia a te kaiwhakamahi ki tetahi tono.
(6) Kua timata te kohinga atatohu.
(7) Ka tautuhia e te Wharangi Whakamahinga Patene he mea whakauru e toru nga waahanga moka-1. Ko ia āpure 1-bit e tohu ana i te paatene kiore9s 1, 2 me te 3 ka taea te whakahoki i te uara 0, 1 ranei.
(8) Ko te Tuemi Whakauru mo te Wharangi Whakamahinga Patene he mea kapi ki etahi atu moka 13.
(9) Ko tetahi atu Wharangi Whakamahi Papamahi Aahua e tohuhia ana mo te whakaahua i te tuunga kiore me nga toki X me te Y. Ko te mea Input e rua nga mara moka-8 e noho ana kei waenganui i te -127 me te 127.
(10) Kua katia te kohinga atatohu.
(11) Kua katia te kohinga kiore.
Wharangi HID USB.org
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
37/174
Ka mutuview
Ko te USB Implementers Forum (USB-IF) e whakarato ana i tetahi taputapu ko "HID Descriptor Tool" me etahi atu korero mo te whakatakotoranga whakaahua korero. Tirohiahttp://www.usb.org/developers/hidpage/ mo etahi atu korero.
USB Pūrere HID Aratohu Papatonotanga Akomanga
Ko tenei waahanga e whakamarama ana me pehea te whakamahi i te akomanga HID. Te Whakatairanga i te Akomanga HID Pūrere USB Te taapiri i tetahi tauira Tauira HID Pūrere USB ki to Pūrere Whakawhitiwhiti ma te whakamahi i te Akomanga HID Pūrere USB
Ka timata i te akomanga HID Pūrere USB
Hei taapiri i te taumahinga HID Class ki to taputapu, me arawhiti tuatahi koe i te akomanga ma te waea i te mahi sl_usbd_hid_init() . Ko te exampKei raro nei e whakaatu ana me pehea te waea sl_usbd_hid_init() ma te whakamahi i nga tautohetohe taunoa. Mo etahi atu korero mo nga tautohenga whirihoranga kia tukuna ki sl_usbd_hid_init() , tirohia nga Taupānga Taupānga Taupānga Taupānga HID USB Device HID .
Example – Te waea sl_usbd_hid_init()
sl_status_t tūnga;
tūnga = sl_usbd_hid_init(); ki te (tuanga ! SL_STATUS_OK) { /* I puta he hapa. Me taapiri te whakahaere hapa ki konei. */
}
Te taapiri i tetahi tauira HID Class Device USB ki to Pūrere
Hei taapiri i te taumahinga akomanga HID ki to taputapu, me hanga e koe he tauira, katahi ka taapiri atu ki te whirihoranga o to taputapu.
Waihanga Tauira HID Class
Waihangahia he tauira akomanga HID ma te karanga i te mahi sl_usbd_hid_create_instance() . Ko te exampKei raro nei e whakaatu ana me pehea te hanga mahi kiore ngawari ma te sl_usbd_hid_create_instance() ma te whakamahi i nga tautohetohe taunoa. Mo etahi atu korero mo nga tautohenga whirihoranga ki te tuku ki sl_usbd_hid_create_instance() , tirohia nga Whakaritenga Tauira Tauira HID Device USB.
Example – Tāpiri Mahi Kiore mā sl_usbd_hid_create_instance()
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
38/174
Ka mutuview
/* Tau tonu o te ao. */ static const uint8_t app_usbd_hid_mouse_report_desc[] = {
SL_USBD_HID_GLOBAL_USAGE_PAGE + 1, SL_USBD_HID_USAGE_PAGE_GENERIC_DESKTOP_CONTROLS, SL_USBD_HID_LOCAL_USAGE + 1, SL_USBD_HID_CA_MOUSE, SL_USBD_HID_MAIN_1, SL_USBD_HID_COLLECTION_APPLICATION, SL_USBD_HID_LOCAL_USAGE + 1, SL_USBD_HID_CP_POINTER, SL_USBD_HID_MAIN_COLLECTION + 1, SL_USBD_HID_COLLECTION_PHYSICAL, SL_USBD_HID_PHYSICAL, SL_GLOBAL_HID SL_USBD_HID_USAGE_PAGE_BUTTON, SL_USBD_HID_LOCAL_USAGE_MIN + 1, 0 01, SL_USBD_HID_LOCAL_USAGE_MAX + 1, 0 03, SL_USBD_HID_GLOBAL_LOG_MIN + 1, 0_000 1, 0 01, SL_USBD_HID_GLOBAL_REPORT_COUNT + 1, 0 03, SL_USBD_HID_GLOBAL_REPORT_SIZE + 1, 0 01, SL_USBD_HID_MAIN_INPUT + 1, SL_USBD_HID_MAIN_DATA | SL_USBD_HID_MAIN_VARIABLE | SL_USBD_HID_MAIN_ABSOLUTE, SL_USBD_HID_GLOBAL_REPORT_COUNT + 1, 0 01, SL_USBD_HID_GLOBAL_REPORT_SIZE + 1, 0 0D, SL_USBD_HID_MAIN_INPUT + 1, SL_USBD_CONHID SL_USBD_HID_GLOBAL_USAGE_PAGE + 1, SL_USBD_HID_USAGE_PAGE_GENERIC_DESKTOP_CONTROLS, SL_USBD_HID_LOCAL_USAGE + 1, SL_USBD_HID_DV_X, SL_USBD_HID_BDLOCAL_US_US_AGE, SL_USBD_HID_BDLOCAL_US_AGE SL_USBD_HID_GLOBAL_LOG_MIN + 1, 0 81, SL_USBD_HID_GLOBAL_LOG_MAX + 1, 0 7F, SL_USBD_HID_GLOBAL_REPORT_SIZE + 1, 0 08, SL_USBD_HID_GLOBAL_GROBAL +02, 0 SL_USBD_HID_MAIN_INPUT + 1, SL_USBD_HID_MAIN_DATA | SL_USBD_HID_MAIN_VARIABLE | SL_USBD_HID_MAIN_RELATIVE, SL_USBD_HID_MAIN_ENDCOLLECTION, SL_USBD_HID_MAIN_ENDCOLLECTION };
/* Taurangi rohe.*/ uint8_t class_nbr; sl_status_t tūnga;
sl_usbd_hid_callbacks_t app_usbd_hid_callbacks = { NULL, NULL, app_usbd_hid_get_report_desc, NULL, NULL, NULL, NULL, NULL };
void app_usbd_hid_get_report_desc(uint8_t class_nbr, const uint8_t **p_report_ptr, uint16_t *p_report_len)
{(kore)class_nbr;
*p_report_ptr = app_usbd_hid_kiore_report_desc; *p_report_len = sizeof(app_usbd_hid_mouse_report_desc); }
tūnga = sl_usbd_hid_create_instance(SL_USBD_HID_SUBCLASS_BOOT, SL_USBD_HID_PROTOCOL_MOUSE, SL_USBD_HID_COUNTRY_CODE_NOT_SUPPORTED, Ex_USBD_HID_Mouse_ReportDesc, rahinga(De_Mouse_Mouse),2U pono, &app_usbd_hid_callbacks, &class_nbr);
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
39/174
Ka mutuview
/* I puta he hapa. Me taapiri te whakahaere hapa ki konei. */}
Te taapiri i te Tauira Karaehe HID ki te (ng) Whirihoranga o To Pūrere I muri i to hanga i tetahi tauira akomanga HID, ka taea e koe te taapiri atu ki tetahi whirihoranga ma te waea i te mahi.
sl_usbd_hid_add_to_configuration() .
Ko te exampKei raro nei e whakaatu ana me pehea te waea sl_usbd_hid_add_to_configuration() .
Example – Te waea sl_usbd_hid_add_to_configuration()
sl_status_t tūnga;
sl_usbd_hid_add_to_configuration(class_nbr,
(1)
config_nbr_fs); (2)
ki te (tuunga ! SL_STATUS_OK) {
/* I puta he hapa. Me taapiri te whakahaere hapa ki konei. */
}
(1) Tau karaehe hei taapiri atu ki te whirihoranga i whakahokia mai e sl_usbd_hid_create_instance(). (2) Tau whirihora (i konei ka taapiri atu ki te whirihoranga Tere-Katoa).
Te Whakawhitiwhiti Ma te whakamahi i te Akomanga HID Pūrere USB
Ko te Whakawhitiwhiti Tikanga Karaehe Whakawhitiwhiti Whakawhitinga Tikanga Tikanga Whakawhitiwhiti Ko te karaehe HID e tuku ana i nga mahi e whai ake nei hei whakawhitiwhiti korero ki te kaihautu.
Ripanga – HID Communication API Whakarāpopototanga
Ingoa mahi
sl_usb d _hid _ re ad _sy nc() sl_usb d _huna _write _sy nc()
Mahinga Ka whiwhi raraunga mai i te kaihautu ma te aukati i te pito mutunga OUT. Kei te aukati tenei mahi. Ka tuku raraunga ki te kaihautu ma te aukati i te waahi mutunga IN. Kei te aukati tenei mahi.
Whakawhitiwhiti Tukutahi Ko te tikanga o te whakawhitiwhitinga tukutahi ko te whakawhitinga kei te aukati. I runga i te waea mahi, ka poraka nga tono kia oti ra ano te whakawhitinga me te kore he hapa ranei. Ka taea te whakawhāitihia he waahi kia kore e tatari mo ake tonu atu. Ko te exampKei raro nei e whakaatu ana i te panui me te tuhi ka whiwhi raraunga mai i te kaihautu ma te whakamahi i te mutunga o OUT haukoti me te tuku raraunga ki te kaihautu ma te whakamahi i te mutunga IN interrupted.
Example – HID Tukutahi Panui me te Tuhituhi
__ALIGNED(4) uint8_t rx_buf[2];
__ALIGNED(4) uint8_t tx_buf[2];
uint32_t
xfer_len;
sl_tu_t
tūnga;
tūnga = sl_usbd_hid_read_sync(class_nbr,
(1)
(kore *)rx_buf,
(2)
2u,
0u,
(3)
&xfer_len);
ki te (tuunga ! SL_STATUS_OK) {
/* I puta he hapa. Me taapiri te whakahaere hapa ki konei. */
}
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
40/174
Ka mutuview
tūnga =sl_usbd_hid_read_sync(class_nbr,(1)(void *)rx_buf,(2)2u,0u,(3)&xfer_len);if(tuanga ! SL_STATUS_OK){/* I puta he hapa. Me taapiri te whakahaere hapa ki konei. */}
tūnga =sl_usbd_hid_write_sync(class_nbr,(1)(void *)tx_buf,(4)2u,0u,(3)&xfer_len);if(tuanga ! SL_STATUS_OK){/* I puta he hapa. Me taapiri te whakahaere hapa ki konei. */}
(1) Ko te tau tauira karaehe i hangaia mai i sl_usbd_hid_create_instance() he tohutoro a-roto mo te akomanga HID ki te arai i te whakawhiti ki te mutunga o OUT, IN ranei.
(2) Me whakarite e te tono he nui rawa te parepare e whakaratohia ana ki te mahi hei whakauru i nga raraunga katoa. Ki te kore, ka puta nga take tukutahi. I roto, ka mahia te mahi panui ma te pito mana whakahaere, ma te pito mutunga haukoti ranei, i runga i te huinga haki panui mana i te wa e karanga ana sl_usbd_hid_create_instance() .
(3) Hei karo i te ahuatanga aukati mutunga kore, ka taea te tohu he wa poto i roto i te mirihakona. Ko te uara o te 809 ka tatari te mahi tono mo ake tonu atu.
(4) Ko te tono e whakarato ana i te parapara tuku tuatahi.
HID Tūmahi Pūrongo Tāuru wā
Hei tiaki i te bandwidth, ka taea e te kaihautu te wahangu i nga purongo mai i te mutunga IN haukoti ma te whakaiti i te auau purongo. Hei mahi pera, me tuku e te kaihautu te tono SET_IDLE. Kei roto i te akomanga HID i whakatinanahia e Silicon Labs tetahi mahi a-roto e whakaute ana i te herenga auau purongo ka taea e koe te tono ki tetahi, ki etahi purongo whakauru. Whakaatuhia nga Ripoata Whakauru Waahanga Ko nga mahi e whakaatu ana i te mahi o nga mahi purongo whakauru ia wa.
Pikitia – Taumahi Ripoata Whakauru Waahanga
(1) Ka whiwhi te taputapu i te tono SET_IDLE. Ka tohua e tenei tono he roanga mangere mo tetahi ID ripoata kua homai. Mo etahi atu korero mo te tono SET_IDLE, tirohia
(2) Ko te hanganga ID ripoata (kua tohatohahia i te wa o te wahanga tuatahi o te karaehe HID) ka whakahouhia me te roanga o te waatea. Ka arawhitihia he porotiti roanga mangere me te uara mo te roanga. Ko te hanganga ID ripoata ka whakauruhia ki te mutunga o te rarangi hono kei roto nga hanganga ID ripoata whakauru. Ko te uara roa o te noho mangere e whakaatuhia ana ki te waeine 4-ms e homai ana te awhe o te 4 ki te 1020 ms.
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
41/174
Ka mutuview
Mena he iti ake te roanga o te noho pooti i te wa pooti o te waahi mutunga IN, ka hangaia nga purongo i te wa pooti.
(3) Ia 4 ms, ka tirotirohia e te mahi purongo whakauru ia wa i te rarangi ID ripoata whakauru. Mo ia ID ripoata whakauru, ka mahia e te mahi tetahi o nga mahi e rua. Ko te roanga o te wa mahi e rite ana ki te waeine 4-ms i whakamahia mo te roanga kore. Mena karekau he tono SET_IDLE i tukuna mai e te kaihautu, kei te putua te rarangi ID ripoata whakaurunga, kaore he mahi hei tukatuka. Ko nga mahinga mahi anake e whakaatu ana i nga ID he rereke mai i te 0 me te roanga o te wa mangere nui ake i te 0.
(4) Mo tetahi ID ripoata whakauru, ka tirohia e te mahi mena kua pahemo te roanga o te noho mangere. Ki te kore te roa o te noho mangere, ka whakahekehia te porotiti, karekau he purongo whakauru ka tukuna ki te kaihautu.
(5) Mena kua pahemo te roanga mahi (ara, kua eke ki te kore te porotiti mo te wa mangere), ka tukuna he purongo whakauru ki te kaihautu ma te waea atu ki te mahi sl_usbd_hid_write_sync() ma te waahi mutunga IN interrupted.
(6) Ko nga raraunga purongo whakauru ka tukuna e te mahi i ahu mai i te papaaa raraunga o roto kua tohaina mo ia purongo whakauru e whakaahuatia ana i te Kaituhi Ripoata. Ka taea e tetahi mahi tono te waea ki te mahi sl_usbd_hid_write_sync() ki te tuku purongo whakauru. Whai muri i te tuku i nga raraunga purongo whakaurunga, ka whakahouhia e sl_usbd_hid_write_sync() te parepare o roto e hono ana ki tetahi ID ripoata whakauru me nga raraunga katahi ano ka tukuna. Na, ka tukuna e te taumahi purongo whakaurunga i nga wa katoa nga raraunga purongo whakaurunga i muri i te paunga o ia roanga mangere a tae noa ki te mahi tono whakahōu i nga raraunga i roto i te papaa-roto. He tikanga maukati hei karo i te pirau o nga raraunga ID ripoata whakauru mena ka puta he whakarereketanga i te wa tika o te tuku e mahia ana e te mahi purongo whakauru ia wa.
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
42/174
Ka mutuview
Ka mutuview
USB Pūrere MSC Class
Pūrere USB MSC Class Overview Pūrere USB Me Rauemi Akomanga MSC mai i te Pūrere USB Matua Whirihoranga Akomanga MSC Pūrere USB Aratohu Papatonotanga Akomanga MSC Pūrere USB Nga Atekōkiri Rokiroki Akomanga MSC
Ko tenei waahanga e whakaatu ana i te akomanga taputapu rokiroki papatipu (MSC) e tautokohia ana e Silicon Labs USB Device. Ko te MSC he kawa e taea ai te whakawhiti korero i waenga i te taputapu USB me te kaihautu. Ko nga korero e whakawhitihia ana ko nga mea katoa ka taea te penapena ma te rorohiko, penei i nga kaupapa ka taea te whakahaere, te waehere puna, nga tuhinga, nga whakaahua, nga raraunga whirihoranga, etahi atu tuhinga, raraunga nama ranei. Ko te taputapu USB ka puta hei waahi rokiroki o waho ki te kaihautu, ka taea te whakawhiti o files mā te tō me te taka.
A file ka whakatauhia e te punaha pehea te files kua whakaritea i roto i te pāpāho rokiroki. Ko te whakatakotoranga o te akomanga rokiroki papatipu USB e kore e hiahiatia tetahi mea file te punaha hei whakamahi i nga taputapu rite. Engari, ka whakaratohia he atanga ngawari ki te panui me te tuhi i nga waahanga raraunga ma te whakamahi i te Atanga Pūnaha Rorohiko Iti (SCSI) raupapa whakahau marama. Na tenei, ka taea e nga punaha whakahaere te mahi i te puku USB kia rite ki te puku pakeke, ka taea te whakahōputu ki tetahi file punaha e pai ana ratou.
E tautoko ana te akomanga taputapu rokiroki papatipu USB e rua nga tikanga kawe, penei:
Te Waka-Ake-anake (BOT) Mana/Maakete/Whakakorea (CBI) Kawe (whakamahia mo nga puku kōpae pīngore anake)
Ka whakatinanahia e te karaehe taputapu rokiroki papatipu te huinga whakahau maramara SCSI ma te whakamahi i te kawa BOT anake, e tohu ana ko nga pito mutunga nui anake ka whakamahia hei tuku raraunga me nga korero mana. Ko te whakatinanatanga MSC e tautoko ana i nga waahanga arorau maha.
Ko te whakatinanatanga o te MSC e rite ana ki nga whakaritenga e whai ake nei:
Universal Serial Bus Mass Storage Class Whakatakotoranga Neke atuview, Arotakenga 1.3 Hepetema 5, 2008. Universal Serial Bus Mass Storage Class Bulk-Anake Transport, Revision 1.0 Sept. 31, 1999.
Pūrere USB MSC aCl ss Neke atuview
Kawa Whakamutunga Karaehe Tono Atanga Pūnaha Rorohiko Iti (SCSI)
Kawa
I tenei wahanga, ka matapakihia e matou te kawa o te Kawenata Nui-anake (BOT) o te Akomanga Pupuri Papatipu. E toru nga s o te kawa Kawenga Nui-anaketage:
Te Waka Whakahaua Te Kawenga Raraunga Te Kawenga Turanga
Ko nga whakahau rokiroki papatipu ka tukuna e te kaihautu ma roto i tetahi hanganga e kiia nei ko te Command Block Wrapper (CBW). Mo nga whakahau e hiahia ana ki te kawe raraunga stage, ka ngana te kaihautu ki te tuku, ki te whiwhi ranei i te tau tika o nga paita mai i te taputapu kua tohua e te roa me nga mara haki o te CBW. I muri i te kawe raraunga stage, ka ngana te kaihautu ki te whiwhi i tetahi Taapaki Tunga Whakahau (CSW) mai i te taputapu e whakaatu ana i te mana o te whakahau me nga toenga raraunga (mehemea
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
43/174
Ka mutuview
tetahi). Mo nga whakahau karekau he kawe raraunga stage, ka ngana te kaihautu ki te whiwhi CSW tika i muri i te tukunga o te CBW. He taipitopito te kawa ki te Whakaahua - Kawa MSC.
Pikitia – Kawa MSC
Ngakau Whakamutunga
I te taha o te taputapu, i runga i te whakaritenga o te BOT, kei te MSC nga waahanga e whai ake nei: Ko te rua o te mana whakahaere IN me OUT e kiia ana ko te mutunga taunoa. He takirua o te nuinga o IN me OUT pito mutunga.
Ko te ripanga i raro nei e whakaatu ana i nga momo whakamahinga o nga pito mutunga.
Ripanga – Whakamahinga Whakamutunga MSC
Whakamutunga
Mana IN Mana OUT Bulk IN Bulk OUT
Te aronga
Pūrere ki te manaaki Kaihautū ki te Pūrere Pūrere ki te Kaihautū Kaihautū ki te Pūrere
Whakamahinga
Whakataunga me nga tono mo te karaehe MSC Nga tono mo te karaehe MSC me te MSC Tukuna CSW me nga raraunga Whiwhi CBW me nga raraunga
Nga tono a te karaehe
E rua nga tono mana kua tautuhia mo te kawa MSC BOT. Ko enei tono me o raatau whakaahuatanga kei te ripanga kei raro nei.
Ripanga – Nga Tono Karaehe Rokiroki Papatipu
Nga tono a te karaehe
Tautuhi Pupuri Papatipu-anake
Whakaahuatanga
Ka whakamahia tenei tono ki te tautuhi i te taputapu rokiroki papatipu me tona atanga hono. Ko tenei tono ka panui te taputapu ki te whiwhi i te paraka whakahau e whai ake nei.
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
44/174
Ka mutuview
Nga tono a te karaehe
Whakaahuatanga
Tikina Max Ka whakamahia tenei tono ki te whakahoki i te nama wae arorau teitei (LUN) e tautokohia ana e te taputapu. Mo te example, a
RUN
Ko te taputapu me te LUN 0 me te LUN 1 ka whakahoki i te uara o te 1. Ko te taputapu me te wae arorau kotahi ka whakahoki 0, ka kati ranei te
tono. Ko te uara teitei ka taea te whakahoki mai he 15.
Atanga Pūnaha Rorohiko Iti SCSI
I te taumata atanga whakahoahoa, ka whakatinanahia e te taputapu MSC tetahi o nga tikanga kawa korero rokiroki-pāho, penei i te SCSI me te SFF-8020i (ATAPI). Ko te "Atanga Papatono" e whakaatu ana ko tehea kawa ka whakatinanahia, ka awhina i te punaha whakahaere a te kaihautu ki te uta i te taraiwa taputapu e tika ana mo te whakawhitiwhiti korero me te taputapu rokiroki USB. Ko te SCSI te kawa e whakamahia ana me nga taputapu rokiroki MSC USB. Ka whakaratohia e matou he whakatinanatanga mo te MSC SCSI subclass ka taea e taatau kaiwhakamahi GSDK te whakamahi i waho o te pouaka.
Ko te SCSI he huinga paerewa mo te whakahaere i nga korero i waenga i nga rorohiko me nga taputapu peripheral. Kei roto i enei paerewa nga whakahau, nga kawa, nga atanga hiko me nga atanga whatu. Ko nga taputapu rokiroki e whakamahi ana i etahi atu atanga taputapu, penei i te USB, ka whakamahi i nga whakahau SCSI mo te tiki korero mo te taputapu/kaiwhakahaere me te whakahaere i te mahi o te taputapu me te whakawhiti poraka o nga raraunga i roto i te papaaho rokiroki.
Ko nga whakahau a te SCSI e kapi ana i te maha o nga momo taputapu me nga mahi, na reira, ka hiahia nga taputapu ki tetahi waahanga o enei whakahau. I te nuinga o te waa, ko nga whakahau e whai ake nei e tika ana mo te whakawhitiwhiti korero:
PĀNUI PĀNUI KAUPAPA(10) PĀNUI(10) PĀNUI WHAKAMAHI WHAKAMAHI KAUPAPA KAUPAPA (10)
USB Pūrere MSC Class Rauemi Hiahia mai i Core
Ia wa ka taapirihia e koe he tauira akomanga MSC ki te whirihoranga USB ma te mahi sl_usbd_msc_add_to_configuration() , ka tohatohahia nga rauemi e whai ake nei mai i te matua.
Rauemi
Atanga Atanga Atanga Whakamutunga Rōpū Atanga
Te nui
1 1 2 0
Kia mahara ko aua nama kei ia whirihoranga. Ina whakarite i to SL_USBD_INTERFACE_QUANTITY , SL_USBD_ALT_INTERFACE_QUANTITY , SL_USBD_INTERFACE_GROUP_QUANTITY me SL_USBD_DESCRIPTOR_QUANTITY uara whirihoranga, kaua e wareware ki te whai whakaaro mo te maha o nga whirihoranga ka taapirihia e te akomanga. Mo te uara whirihoranga SL_USBD_OPEN_ENDPOINTS_QUANTITY, i te mea ka whakatuwherahia nga pito mutunga ka whakatauhia e te kaihautu he whirihoranga, me whai whakaaro noa koe ki te maha o nga pito e hiahiatia ana mo tetahi tauira karaehe.
Pūrere USB Whirihoranga MSC Class
E rua nga roopu tawhā whirihora e whakamahia ana hei whirihora i te akomanga MSC:
Pūrere USB Whakaritenga Taupānga MSC Class Taupānga Tauwhāiti Pūrere USB MSC Class Whirihoranga Wae Ararau
USB Pūrere MSC Class Taupānga-motuhake Whirihoranga
Whakaritenga Akoranga-Waima Whakahiato Tauira Akomanga
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
45/174
Ka mutuview
Whirihoranga Wā-Whakahiato akomanga
Silicon Labs USB Device MSC class and SCSI subclass are configurable at compile time via #defines kei roto i te sl_usbd_core_config.h file.
Ripanga – Nga Taarua Whirihoranga Atoa
Ingoa Whirihoranga
Whakaahuatanga
SL_USBD_MSC_CLASS_INST Te maha o nga tauira akomanga ka tohaina e koe ma te waea ki te mahi
ANCE_QUANTITY
sl_usbd_msc_scsi_create_instance() .
SL_USBD_MSC_CONFIGURA Te maha o te whirihoranga ka taea te taapiri i tetahi tauira karaehe ma te waea ki te
TION_QUANTITY
mahi sl_usbd_msc_scsi_add_to_configuration() .
SL_USBD_MSC_LUN_QUANT Te maha o nga wae arorau mo ia karaehe tauira ka tapiritia e koe ma te waea ki te
ITY
mahi sl_usbd_msc_scsi_lun_add() .
SL_USBD_MSC_SCSI_64_BIT Whakahohe, mono ranei te tautoko mo te Wāhitau Paraka Ararau (LBA) o te 64 moka.
_LBA_EN
SL_USBD_MSC_DATA_BUFF Rahi o te parapara raraunga mo ia karaehe tauira i roto i nga paita ER_SIZE
Uara Taunoa
2
1
2
0
512
Waihanga Tauira Akomanga
Ko te hanga tauira USB MSC SCSI akomanga ka mahia ma te waea i te mahi sl_usbd_msc_scsi_create_instance(). Ka mau tenei mahi i tetahi tautohenga whirihoranga e whakaahuatia ana i raro nei.
p_scsi_callbacks
p_scsi_callbacks he atatohu ki te hanganga whirihoranga o te momo sl_usbd_msc_scsi_callbacks_t. I tua atu i nga waea waea waea waea USB noa e hono ana / momotuhia ana, ka whakaratohia e te akomanga MSC he huinga o nga mahi waea whakahoki ka karangahia ina puta he huihuinga i runga i te waahanga arorau. Ka taea te tuku i te atatohu null ( NULL ) ki tenei tohenga ki te kore e hiahiatia he hokinga.
Ko te ripanga i raro nei e whakaatu ana i ia mara whirihoranga e waatea ana i tenei hanganga whirihoranga.
Ripanga – sl_usbd_msc_scsi_callbacks_t Hanganga Whirihoranga
Nga mara
Whakaahuatanga
.whakahohe
Ka karangahia i te wa e taea ana te tauira akomanga USB.
.disable Ka karangahia ka monokia te tauira akomanga USB.
.host_eject Ka karangahia te mahi ina panaia he wae arorau mai i te kaihautu.
Waitohu Mahi
void app_usbd_msc_scsi_enable(uint8_t class_nbr);
void app_usbd_msc_scsi_disable(uint8_t class_nbr); void app_usbd_msc_scsi_host_eject(uint8_t class_nbr, uint8_t lu_nbr);
USB Pūrere MSC Class Whirihoranga Wae Ararau
Ko te taapiri i tetahi waahanga arorau ki tetahi tauira MSC ka mahia ma te waea i te mahi sl_usbd_msc_lun_add() . Ka mau tenei mahi i tetahi tautohenga whirihoranga e whakaahuatia ana i raro nei.
p_lu_info
Ko p_lu_info he atatohu ki tetahi hanganga momo sl_usbd_msc_scsi_lun_info_t. Ko tana kaupapa he tuku korero mo te waahanga arorau ki te akomanga MSC.
Ko te ripanga i raro nei e whakaatu ana i ia mara whirihoranga e waatea ana i tenei hanganga whirihoranga.
Ripanga – sl_usbd_msc_scsi_lun_info_t Hanganga Whirihoranga
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
46/174
Ka mutuview
Mara
Whakaahuatanga
Mara
.scsi_lun_api_p tr
Whakaahuatanga
Tohu ki te API atekōkiri pāpāho ka whakahaere i tenei wae arorau. Tirohia te Pūrere USB MSC Class Storage Drivers mo etahi atu korero mo nga taraiwa rokiroki.
.ve nd o r_id _ p tr
.product_id_ptr
.p ro d uct_ re v isi on_level . is_ re ad _o nly
Tohutohu ki te aho kei roto te tohu kaihoko o te wae arorau. Ko te roa rawa o te aho he 8 pūāhua. Tohu ki te aho kei roto te tohu hua o te wae arorau. Ko te roa rawa o te aho he 16 pūāhua. Te taumata whakahou hua.
Kara e tohu ana me kite te wae arorau he panui mai i te pito o view o te kaihautu ( pono ) kaore ranei ( teka ).
Pūrere USB Aratohu Papatonotanga MSC Class
Ko tenei waahanga e whakamarama ana me pehea te whakamahi i te akomanga MSC.
Te whakaaraara i te Pūrere USB Akomanga MSC Te taapiri i tetahi Pūrere USB Tauira MSC SCSI Class ki to Pūrere USB Pūrere MSC Class Whakahaere Wae Ararau.
Ka timata i te Akomanga MSC Pūrere USB
Hei taapiri i nga mahi a te karaehe MSC SCSI ki to taputapu, arawhiti tuatahi te karaehe turanga MSC me te karaehe iti SCSI ma te waea i te mahi sl_usbd_msc_init() me sl_usbd_msc_scsi_init() .
Ko te exampKei raro nei e whakaatu ana me pehea te waea sl_usbd_msc_init() me sl_usbd_msc_scsi_init() .
Example – Waea sl_usbd_msc_init() me sl_usbd_msc_scsi_init()
sl_status_t tūnga;
tūnga = sl_usbd_msc_init(); ki te (tuanga ! SL_STATUS_OK) { /* I puta he hapa. Me taapiri te whakahaere hapa ki konei. */
}
tūnga = sl_usbd_msc_scsi_init(); ki te (tuanga ! SL_STATUS_OK) { /* I puta he hapa. Me taapiri te whakahaere hapa ki konei. */
}
Te taapiri i tetahi tauira USB MSC SCSI Class ki to Pūrere
Hei taapiri i nga mahi a te karaehe MSC SCSI ki to taputapu, tuatahi hanga he tauira, katahi ka taapiri atu ki te whirihoranga o to taputapu. Me taapiri kia kotahi neke atu i te wae arorau ki to tauira.
Te hanga i tetahi tauira MSC SCSI Class
Waihangahia he tauira MSC SCSI ma te waea i te mahi sl_usbd_msc_scsi_create_instance() .
Ko te exampKei raro nei e whakaatu ana me pehea te waea sl_usbd_msc_scsi_create_instance() ma te whakamahi i nga tautohetohe taunoa. Mo etahi atu korero mo nga tautohenga whirihoranga kia tukuna ki sl_usbd_msc_scsi_create_instance() , tirohia nga Whakaritenga Taumahi Taupānga MSC Pūrere USB.
Example – Te waea sl_usbd_ msc_scsi_create_instance()
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
47/174
Ka mutuview
uint8_t class_nbr; sl_status_t tūnga;
sl_usbd_msc_scsi_callbacks_t app_usbd_msc_scsi_callbacks = { .enable = NULL, .disable = NULL, .host_eject = NULL };
tūnga = sl_usbd_msc_scsi_create_instance(&app_usbd_msc_scsi_callbacks,0 &class_nbr);
ki te (tuanga ! SL_STATUS_OK) { /* I puta he hapa. Me taapiri te whakahaere hapa ki konei. */ }
Te taapiri i te tauira o te akomanga MSC ki te whirihoranga o to taputapu.
I muri i to hanga i tetahi tauira akomanga MSC, ka taea e koe te taapiri atu ki tetahi whirihoranga ma te waea i te mahi
sl_usbd_msc_add_to_configuration() .
Ko te exampKei raro nei e whakaatu ana me pehea te waea sl_usbd_msc_scsi_add_to_configuration() ma te whakamahi i nga tautohetohe taunoa.
Example – Waea sl_usbd_ msc_scsi_add_to_configuration()
sl_status_t tūnga;
tūnga = sl_usbd_msc_scsi_add_to_configuration(class_nbr,
(1)
config_nbr_fs);
(2)
ki te (tuunga ! SL_STATUS_OK) {
/* I puta he hapa. Me taapiri te whakahaere hapa ki konei. */
}
(1) Tau karaehe hei taapiri atu ki te whirihoranga i whakahokia mai e sl_usbd_msc_scsi_create_instance() . (32) Tau whirihora (i konei ka taapiri atu ki te whirihoranga Tere-Katoa).
Pūrere USB MSC Class Arorau Waehanga Whakahaere
Te taapiri i tetahi Waehe Ararau Te Apiti/Wehe i te Waenga Rokiroki
Te taapiri i tetahi Waenga Arorau
I te taapiri i tetahi waahanga arorau ki to tauira MSC SCSI, me herea ki tetahi waahi rokiroki (RAMDisk, kaari SD, mahara rama, aha atu). Ka whakamahi te karaehe MSC i te taraiwa rokiroki ki te whakawhitiwhiti korero me nga papaaho rokiroki. Me tuku tenei atekōkiri ina tāpirihia te wae arorau.
Ko te exampKei raro nei e whakaatu ana me pehea te taapiri i tetahi waahanga arorau ma te sl_usbd_msc_scsi_lun_add() .
Example – Te taapiri i tetahi Waehanga Ararau ma te sl_usbd_msc_scsi_lun_add()
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
48/174
Ka mutuview
sl_usbd_msc_scsi_lun_t *lu_object_ptr = NULL;
sl_usbd_msc_scsi_lun_info_t lu_info;
sl_tu_t
tūnga;
lu_info.sl_usbd_msc_scsi_lun_api_t = &app_usbd_scsi_storage_block_device_api;
lu_info.vendor_id_ptr
= “Silicon Labs”;
lu_info.product_id_ptr
= “parapara taputapu example”;
lu_info.product_revision_level = 0x1000u;
lu_info.is_read_only
= teka;
tūnga = sl_usbd_msc_scsi_lun_add(class_nbr, &lu_info, &lu_object_ptr);
ki te (tuanga ! SL_STATUS_OK) { /* I puta he hapa. Me taapiri te whakahaere hapa ki konei. */ }
Te Whakapiri / Wehe i te Waenga Rokiroki
I muri i te taapiri i te waahanga arorau, me whakapiri he taputapu rokiroki kia waatea mai i te taha o te ope. Ka tukuna e te akomanga MSC nga mahi e rua hei whakahaere i te hononga pāpāho rokiroki ki te wae arorau: sl_usbd_msc_scsi_lun_attach() me sl_usbd_msc_scsi_lun_detach() . Ko enei mahi ka taea e koe te peehi i te tango i tetahi taputapu rokiroki kia taea ai te uru mai i te tono whakauru mena e tika ana.
Ko te exampKei raro nei e whakaatu ana me pehea te whakamahi i te mahi sl_usbd_msc_scsi_lun_attach() me sl_usbd_msc_scsi_lun_detach() .
Example – Media Attach/Detach
sl_status_t tūnga;
tūnga = sl_usbd_msc_scsi_lun_attach(lu_object_ptr); ki te (tuanga ! SL_STATUS_OK) { /* I puta he hapa. Me taapiri te whakahaere hapa ki konei. */
}
…
(1)
tūnga = sl_usbd_msc_scsi_lun_detach(lu_object_ptr); ki te (tuunga ! SL_STATUS_OK) {
/* I puta he hapa. Me taapiri te whakahaere hapa ki konei. */
}
…
(2)
tūnga = sl_usbd_msc_scsi_lun_attach(lu_object_ptr) if (tūnga ! SL_STATUS_OK) {
/* I puta he hapa. Me taapiri te whakahaere hapa ki konei. */
}
…
(3)
(1) Mai i tenei wa, ki te hono te taputapu MSC ki tetahi kaihautu, ka taea te uru atu ki nga papaaho rokiroki.
(2) Mena ka honoa te taputapu MSC ki tetahi kaihautu, ka puta te koretake o te hunga pāpāho. I tenei wa, ka taea te whakahaere i nga mahi i runga i te papapāho mai i te tono whakauru.
(3) Ano, ki te hono te taputapu MSC ki te kaihautu, ka puta te papaaho rokiroki hei hono.
USB Pūrere MSC Class Storage Atekōkiri
Ko te USB Device MSC Class e hiahia ana ki te taraiwa rokiroki hei whakawhitiwhiti korero me te reo rokiroki. Mo tenei wa, kaore a Silicon Labs e tuku taraiwa.
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
49/174
Ka mutuview
Ko TPY aa he taraiwa AI kua tautuhia e te typedef sl_usbd_msc_scsi_lun_api_t . to tatou sl_usbd_msc_scsi_lun_api_t v rible me whakauru ki aaaaaaaaa to sl_usbd_msc_scsi_lun_info_t v ri ble, p ssed s rgument ka dd koe i te wae arorau me te sl_usbd_msc_scsi_lun_add(). Tirohia te waahanga USB Device MSC SCSI API mo etahi atu korero mo nga hanganga. Ko te whakatinanatanga o te taraiwa rokiroki ka taea te ngawari ki te maha o nga waahanga o te RAM. Ko te rahi o te rängai (arä, te rahi poraka) ko te 512 mo nga taputapu rokiroki papatipu, me te 2048 mo nga CD-ROM.
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
50/174
Ka mutuview
Ka mutuview
Ko te akomanga kaihoko taputapu USB
Ko te akomanga kaihoko taputapu USB kua mutuview He Rauemi Akomanga Kaihoko Kaihoko USB Matua mai i te Whirihoranga Karaehe Kaihoko Kaiwhakaako Pūrere USB USB Kaihoko Kaihoko Arataki Papatono Aratohu Ma te akomanga Kaihoko ka taea e koe te hanga i nga taputapu motuhake ka taea te whakatinana i te kawa rangatira. Ka whakawhirinaki ki te rua o nga waahi mutunga nui ki te whakawhiti raraunga i waenga i te kaihautu me te taputapu. He watea nga whakawhitinga nui mo te whakawhiti i te nui o nga raraunga kaore i hangaia me te whakarato i te whakawhiti pono o nga raraunga ma te whakamahi i te rapunga hapa me te ngana ano. I tua atu i nga waahi mutunga nui, ka taea hoki e te akomanga Kaihoko te whakamahi i nga waahanga mutunga whakamotitia takirua. Ka taea e tetahi punaha whakahaere (OS) te mahi tahi me te akomanga Kaihoko mena he taraiwa kei te OS hei hapai i te akomanga Kaihoko. I runga i te OS, ka taea e te taraiwa he tangata whenua, he kaihoko motuhake ranei. Hei tauira, i raro i a Microsoft Windows®, ka taunekeneke to tono me te taraiwa WinUSB i homai e Microsoft hei korero ki te taputapu kaihoko.
Ko te akomanga kaihoko taputapu USB kua mutuview
Whakaatu - Ko te Hangahanga Whanui i waenga i te Kaihautu Matapihi me te Akomanga Kaihoko e whakaatu ana i te hoahoanga whanui i waenga i te kaihautu me te taputapu ma te whakamahi i te akomanga Kaihoko. I roto i tenei exampNa, ko te punaha whakahaere kaihautu ko MS Windows.
Whakaahua – Hangahanga Whanui i waenga i te Kaihautu Matapihi MS me te Akomanga Kaihoko
I te taha MS Windows, ka korero te tono ki te taputapu kaihoko ma te taunekeneke me te whare pukapuka USB. Ko nga whare pukapuka, penei i te libusb, ka tuku he API hei whakahaere i tetahi taputapu me ona paipa e hono ana, me te korero ki te taputapu ma te whakahaere, te nuinga me te aukati i nga pito mutunga.
I te taha o te taputapu, ko te karaehe Kaihoko ko nga waahanga mutunga e whai ake nei:
Ko te rua mana o nga pito mutunga IN me OUT ka kiia ko te pito mutunga taunoa. He takirua o te nuinga o IN me OUT pito mutunga.
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
51/174
Ka mutuview
He rua o nga waahi mutunga IN me OUT. He mea whiriwhiri tenei takirua. Ko te ripanga i raro nei e whakaatu ana i te whakamahinga o nga momo pito mutunga:
Ripanga – Kaihoko Akomanga Whakamutunga Whakamahinga
Tohunga Whakamutunga
Mana IN
Whakahaere
KI WAHO
Nui IN
Pūrere-tohost
> Kaihautū-ki te taputapu
Pūrere-tohost
Puta ki waho
Haukoti IN
Whakakore
KI WAHO
Kaihautū-ki te taputapu
Pūrere-tohost
Kaihautū-ki te taputapu
Whakamahinga
Nga tono paerewa mo te tatauranga me nga tono a nga kaihoko.
Nga tono paerewa mo te tatauranga me nga tono a nga kaihoko.
Te whakawhitiwhiti raraunga mata. Ka taea te hanga raraunga i runga i te kawa rangatira.
Te whakawhitiwhiti raraunga mata. Ka taea te hanga raraunga i runga i te kawa rangatira.
Whakawhitiwhiti raraunga mata, whakamohiotanga ranei. Ka taea te hanga raraunga i runga i te kawa rangatira. Whakawhitiwhiti raraunga mata, whakamohiotanga ranei. Ka taea te hanga raraunga i runga i te kawa rangatira.
Ka taea e te tono taputapu te whakamahi i te nuinga me te haukoti i nga pito mutunga ki te tuku, ki te whiwhi raraunga mai i te kaihautu ranei. Ka taea anake te whakamahi i te mutunga taunoa ki te wetewete i nga tono motuhake a te kaihoko ka tukuna e te kaihautu. Ko nga tono paerewa e whakahaerehia ana e te paparanga matua o Silicon Labs USB Device.
Nga Hiahia Rauemi Kaihoko Pūrere USB mai i Core
Ia wa ka taapirihia e koe he tauira akomanga kaihoko ki tetahi whirihoranga ma te mahi sl_usbd_vendor_add_to_configuration() , ka tohatohahia nga rauemi e whai ake nei mai i te matua.
Rauemi
Atanga Atanga Atanga Whakamutunga Rōpū Atanga
Te nui
1 1 2 (4 ki te whakahohea e koe nga pito mutunga) 0
Kia mahara ko aua nama kei ia whirihoranga. Ina whakarite i to SL_USBD_INTERFACE_QUANTITY , SL_USBD_ALT_INTERFACE_QUANTITY , SL_USBD_INTERFACE_GROUP_QUANTITY me SL_USBD_DESCRIPTOR_QUANTITY uara whirihoranga, kaua e wareware ki te whai whakaaro mo te maha o nga whirihoranga ka taapirihia e te akomanga. Mo te uara whirihoranga SL_USBD_OPEN_ENDPOINTS_QUANTITY, i te mea ka whakatuwherahia nga pito mutunga ka whakatauhia e te kaihautu he whirihoranga, me whai whakaaro noa koe ki te maha o nga pito e hiahiatia ana mo tetahi tauira karaehe.
Whirihoranga Karaehe Kaihoko Pūrere USB
E rua nga roopu tawhā whirihora e whakamahia ana hei whirihora i te akomanga Kaihoko:
Taupānga Taupānga Taupānga Taupānga Taupānga Kaihoko Pūrere USB USB Whirihoranga Tauira Tauira Kaihoko Pūrere USB
Taupānga Taupānga-motuhake Taupānga Kaiwhakaako Pūrere USB
Tuatahi, ki te whakamahi i te tauira a Silicon Labs USB Kaihoko karaehe karaehe, whakatikahia te whirihoranga-wa-wa-kaihoko tautuhi kia rite ki o hiahia tono. Ka whakarōpūhia ki roto i te pane sl_usbd_core_config.h file i raro i te waahanga Kaihoko. Ko te kaupapa whirihoranga rahinga he whakamohio i te waahanga taputapu USB mo te maha o nga taonga Kaihoko USB hei tohatoha.
Ko te ripanga i raro nei e whakaatu ana i ia tautuhinga whirihoranga.
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
52/174
Ka mutuview
Ripanga – Tautuhia te Whirihoranga Kaihoko Pūrere USB
Ingoa Whirihoranga
Whakaahuatanga
Uara Taunoa
SL_USBD_VENDOR_CLASS_INSTANCE_QUANTITY Te maha o nga tauira akomanga ka tohaina e koe ma te waea ki te mahi 2 sl_usbd_vendor_create_instance() .
SL_USBD_VENDOR_CONFIGURATION_QUANTITY Te maha o nga whirihoranga. Ka taea te taapiri i nga tauira karaehe kaihoko 1 ki tetahi, neke atu ranei nga whirihoranga ma te waea ki te mahi sl_usbd_vendor_add_to_configuration() .
Whirihoranga Tauira Tauira Kaihoko Pūrere USB
Ka tautuhia e tenei waahanga nga whirihoranga e pa ana ki nga tauira karaehe Kaihoko.
Waihanga Tauira akomanga intr_en mokowhiti p_vendor_callbacks
Waihanga Tauira Akomanga
Ko te hanga tauira karaehe Kaihoko ka mahia ma te waea i te mahi sl_usbd_vendor_create_instance() , e toru nga tohenga whirihoranga e whakaahuatia ana i raro nei.
intr_en
Boolean e tohu ana mena ka taapirihia he rua o nga pito mutunga kore ranei.
Uara
pono teka
Whakaahuatanga
Ka taapirihia he rua o nga tohu mutunga IN/OUT ka watea ki te tono whakauru. Karekau he pito mutunga haukoti ka taapirihia. Ko te rua anake o te waahi mutunga IN/OUT ka watea.
wā
Mena ka tautuhia e koe te intr_en ki te pono, ka taea e koe te tautuhi i te waahi pooti pooti haukoti (i roto i nga manomano). Mena ka tautuhia e koe te intr_en ki te teka, ka taea e koe te tautuhi i te waahi ki te 0 na te mea ka warewarehia e te karaehe.
p_kaihoko_whakahoki
p_vendor_callbacks he atatohu ki te taurangi hanganga mahi hokinga. ka taea e koe te whakarite ki te hapai i nga tono mana whakahaere motuhake. Mena karekau koe e whakamahi i nga tono motuhake mo te karaehe, e hiahia ana koe ki te whakamohio/whakamohiotanga, ka taea e koe te tautuhi ki te NULL.
Ko te exampKei raro nei te waitohu e tumanakohia ana o to kaikawe tono motuhake.
Example – Waitohu o te Taumahi Tono mo te Akomanga
whakakorehia te taupānga_usbd_vendor_req_handle(uint8_t
class_nbr, (1)
const sl_usbd_setup_req_t *p_setup_req); (2)
sl_usbd_vendor_callbacks_t app_usbd_vendor_callback_functions =
{
.enable = NULL, .disable = NULL, .setup_req = app_usbd_vendor_req_handle,
};
(1) Tau tauira akomanga kaihoko.
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
53/174
Ka mutuview
(2) Tohutohu ki te tono tatūnga mai i te kaihautu.
Aratohu Papatonotanga Akomanga Kaihokohoko Pūrere USB
Ko tenei waahanga e whakamarama ana me pehea te whakamahi i te akomanga Kaihoko. Te Whakatairanga i te Akomanga Kaihoko Pūrere USB Te taapiri i tetahi tauira akomanga Kaihoko Pūrere USB ki to Pūrere Whakawhitiwhiti ma te whakamahi i te akomanga Kaihoko Pūrere USB.
Ka timata i te akomanga Kaihoko Pūrere USB
Hei taapiri i tetahi mahi a te Kaihoko Kaihoko ki to taputapu, arawhiti tuatahi te karaehe ma te waea i te mahi USBD_Vendor_Init(). Ko te exampKei raro nei e whakaatu ana me pehea te waea sl_usbd_vendor_init() .
Example – Waea sl_usbd_vendor_init()
sl_status_t tūnga;
tūnga = sl_usbd_vendor_init(); ki te (tuanga ! SL_STATUS_OK) { /* I puta he hapa. Me taapiri te whakahaere hapa ki konei. */ }
Te taapiri i tetahi Tauira Kaihoko Pūrere USB ki to Pūrere
Hei taapiri i nga mahi a te karaehe kaihoko ki to taputapu, me hanga e koe he tauira, katahi ka taapiri atu ki te whirihoranga o to taputapu.
Te Waihanga Tauira Karaehe Kaihoko Te taapiri i te Tauira Karaehe Kaihoko ki te (ng) Whirihoranga o to Pūrere
Waihanga Tauira Akomanga Kaihoko
Waihangahia he tauira akomanga Kaihoko ma te karanga i te mahi sl_usbd_vendor_create_instance() . Ko te exampKei raro nei e whakaatu ana me pehea te waea sl_usbd_vendor_create_instance() ma te whakamahi i nga tautohetohe taunoa. Mo etahi atu korero mo nga tautohenga whirihoranga ki te tuku ki sl_usbd_vendor_create_instance() , tirohia nga Whirihoranga Tauira Tauira Kaihokohoko Pūrere USB.
Example – Waea sl_usbd_vendor_create_instance()
uint8_t class_nbr; sl_status_t tūnga;
tūnga = sl_usbd_vendor_create_instance(teka,
(1)
0u,
(2)
app_usbd_vendor_callback_functions, (3)
&akomanga_nbr);
ki te (tuunga ! SL_STATUS_OK) {
/* I puta he hapa. Me taapiri te whakahaere hapa ki konei. */
}
(1) Karekau he waahi mutunga mo tenei tauira karaehe. (2) Ka warewarehia te waahi mai i te mea kua monoa nga waahi mutunga.
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
54/174
Ka mutuview
(3) Mahinga Waea hoki he waahanga o to tono e whakahaere ana i nga tono karaehe motuhake mo nga kaihoko. Tirohia te Whakawhitiwhiti ma te whakamahi i te akomanga Kaihoko Pūrere USB mo etahi atu korero. Te taapiri i te Tauira Karaehe Kaihoko ki te (nga) Whirihoranga o to Pūrere I muri i to hanga i tetahi tauira akomanga kaihoko, ka taea e koe te taapiri atu ki tetahi whirihoranga ma te waea i te mahi USBD_Vendor_ConfigAdd(). Ko te exampKei raro nei e whakaatu ana me pehea te waea sl_usbd_vendor_add_to_configuration() ma te whakamahi i nga tautohetohe taunoa.
Example – Waea sl_usbd_vendor_add_to_configuration()
sl_status_t tūnga;
tūnga = sl_usbd_vendor_add_to_configuration(class_nbr,
(1)
config_nbr_fs);
(2)
ki te (tuunga ! SL_STATUS_OK) {
/* I puta he hapa. Me taapiri te whakahaere hapa ki konei. */
}
(1) Tau karaehe hei taapiri atu ki te whirihoranga i whakahokia mai e sl_usbd_vendor_create_instance() . (2) Tau whirihora (i konei ka taapiri atu ki te whirihoranga Tere-Katoa).
Te Whakawhitiwhiti Ma te Whakaakoranga Kaihoko Pūrere USB
Whakawhitinga Tukutahi Whanui Whakawhitinga Tukutahi Tono Tono Kaihoko Whanui Ka tukuna e te akomanga Kaihoko nga mahi e whai ake nei hei korero ki te kaihautu. Mo etahi atu korero mo nga tawhā o te mahi, tirohia te API Kaihokohoko Pūrere USB.
Ripanga – Whakarāpopototanga API Whakawhitiwhiti Kaihoko
Ingoa mahi
sl_usb d _v e nd o r_ re ad _b ulk_sy nc() sl_usb d _v e nd o r_write _b ulk_sy nc() sl_usb d _v e nd o r_ re ad _b ulk_asy nc() sl_writes d ulk_asy nc() sl_usb d _v e nd o r_ re ad _inte rrup t_sy nc() sl_usb d _v e nd o r_write _inte rrup t_sy nc() sl_usb d _v e nd o r_ re ad _asy rnc t
()
sl_usb d _v e nd or r_write _inte rrup t_asy nc
()
Mahinga Ka whiwhi raraunga mai i te kaihautu ma te nuinga o te waahi mutunga OUT. Kei te aukati tenei mahi. Ka tuku raraunga ki te manaaki ma te nuinga o te waahi mutunga IN. Kei te aukati tenei mahi. Ka whiwhi raraunga mai i te kaihautu mai i te nuinga o te waahi mutunga OUT. Ko tenei mahi he aukati-kore. Ka tuku raraunga ki te manaaki ma te nuinga o te waahi mutunga IN. Ko tenei mahi he aukati-kore. Ka whiwhi raraunga mai i te kaihautu ma te haukoti i te mutunga o OUT. Kei te aukati tenei mahi. Ka tuku raraunga ki te manaaki ma te aukati i te waahi mutunga IN. Kei te aukati tenei mahi. Ka whiwhi raraunga mai i te kaihautu ma te haukoti i te mutunga o OUT. Ko tenei mahi he kore-
te aukati.
Ka tuku raraunga ki te manaaki ma te aukati i te waahi mutunga IN. Ko tenei mahi he aukati-kore.
Ko nga tono a nga kaihoko ko tetahi atu huarahi ki te korero ki te kaihautu. A, no te whakahaere i nga tono a te kaihoko ka tukuna e te kaihautu, ka taea e te tono te tango, te tuku raraunga mai ranei ki te kaihautu ma te whakamahi i te mutunga o te mana; ka hiahia koe ki te whakarato i te hokihoki tono kua tukuna hei tawhā o sl_usbd_vendor_create_instance() . Whakawhitiwhiti Tukutahi
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
55/174
Ka mutuview
Ko te korero tukutahi ko te tikanga kei te aukati te whakawhitinga. Ina karangahia he mahi, ka poraka te tono kia oti ra ano te whakawhitinga me te kore he hapa ranei. Ka taea te whakawhāitihia he waahi kia kore e tatari mo ake tonu atu. Ko te exampKei raro nei e whakaatu ana i te panui me te tuhi ka whiwhi raraunga mai i te kaihautu ma te whakamahi i te nuinga o te mutunga OUT me te tuku raraunga ki te kaihautu ma te whakamahi i te nuinga o te mutunga IN.
Example – Tukutahi Nui Panui me te Tuhituhi
__ALIGNED(4) uint8_t rx_buf[2];
__ALIGNED(4) uint8_t tx_buf[2];
uint32_t
xfer_len;
sl_tu_t
tūnga;
tūnga = sl_usbd_vendor_read_bulk_sync(class_nbr,
(1)
(kore *)&rx_buf[0],
(2)
2u,
0u,
(3)
&xfer_len);
ki te (tuunga ! SL_STATUS_OK) {
/* $$$$ Whakahaerehia te hapa. */
}
tūnga = sl_usbd_vendor_write_bulk_sync( class_nbr,
(1)
(kore *)&tx_buf[0],
(4)
2u,
0u,
(3)
teka,
(5)
&xfer_len);
ki te (tuunga ! SL_STATUS_OK) {
/* $$$$ Whakahaerehia te hapa. */
}
(1) Ko te tau tauira karaehe i hangaia me te sl_usbd_vendor_create_instance() he tohutoro a-roto ki te akomanga Kaihoko hei arai i te whakawhiti ki te nuinga tika OUT, IN mutunga ranei.
(2) Me whakarite e te tono he nui rawa te parepare e whakaratohia ana ki te mahi hei whakauru i nga raraunga katoa. Ki te kore, ka puta nga take tukutahi.
(3) Hei karo i te ahuatanga aukati mutunga kore, ka taea te tohu he wa poto i roto i te mirihakona. Ko te uara o te 809 ka tatari te mahi tono mo ake tonu atu.
(4) Ko te tono e whakarato ana i te parapara tuku tuatahi.
(5) Mena kua tautuhia tenei haki ki te pono , a he maha te roa o te whakawhiti i te rahinga o te paatete morahi mutunga, ka tukuna e te puranga taputapu he putea kore-roa ki te kaihautu hei tohu i te mutunga o te whakawhitinga.
Ko te whakamahinga o nga mahi whakawhiti korero mutunga, sl_usbd_vendor_read_interrupt_sync() me te sl_usbd_vendor_write_interrupt_sync() , he rite ki nga mahi korero mutunga nui e whakaatuhia ana i Example – Tukutahi Nui Panui me te Tuhituhi.
Whakawhitiwhiti Tukutahi
Ko te tikanga o te whakawhitiwhitinga tukutahi ko te whakawhitinga he kore aukati. Ka karangahia he mahi, ka tukuna e te tono nga korero whakawhiti ki te puranga o te taputapu, kaore e aukati. Ka taea etahi atu tukatuka tono i te wa e haere tonu ana te whakawhiti i runga i te pahi USB. Kia oti te whakawhitinga, ka karangahia he mahi hokiwaea e te puranga taputapu hei whakamohio i te tono mo te otinga whakawhiti. Ko te exampKei raro nei e whakaatu ana i te panui me te tuhi tukutahi.
Example – Asynchronous Bulk Pānui me te Tuhituhi
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
56/174
Ka mutuview
whakakorehia te taupānga_usbd_vendor_comm (uint8_t class_nbr)
{
__ALIGNED(4) uint8_t rx_buf[2];
__ALIGNED(4) uint8_t tx_buf[2];
sl_tu_t
tūnga;
tūnga = sl_usbd_vendor_read_bulk_async(class_nbr,
(kore *)&rx_buf[0],
(2)
2u,
app_usbd_vendor_rx_completed,
NULL);
(4)
ki te (tuunga ! SL_STATUS_OK) {
/* $$$$ Whakahaerehia te hapa. */
}
tūnga = sl_usbd_vendor_write_bulk_async(class_nbr,
(kore *)&tx_buf[0],
(5)
2u,
taupānga_usbd_vendor_tx_completed,
NAWA
(4)
teka);
(6)
ki te (tuunga ! SL_STATUS_OK) {
/* $$$$ Whakahaerehia te hapa. */
}
}
(1) (3)
(1) (3)
static void app_usbd_vendor_rx_completed(uint8_t class_nbr,
(3)
kore *p_buf,
uint32_t buf_len,
uint32_t xfer_len,
kore *p_callback_arg,
sl_status_t tūnga)
{
ki te (tuunga ! SL_STATUS_OK) {
/* $$$$ Mahi etahi mahi. */
} atu {
/* $$$$ Whakahaerehia te hapa. */
}
}
static void app_usbd_vendor_tx_completed(uint8_t class_nbr,
(3)
kore *p_buf,
uint32_t buf_len,
uint32_t xfer_len,
kore *p_callback_arg,
sl_status_t tūnga)
{
ki te (tuunga ! SL_STATUS_OK) {
/* $$$$ Mahi etahi mahi. */
} atu {
/* $$$$ Whakahaerehia te hapa. */
}
}
(1) Ko te nama tauira o te karaehe he tohutoro a-roto ki te akomanga Kaihoko hei arai i te whakawhiti ki te waahi tino tika OUT, IN ranei. (2) Me whakarite e te tono he nui rawa te parepare e whakaratohia ana hei whakauru i nga raraunga katoa. Ki te kore, tera pea he take tukutahi. (3) Ka tukuna e te tono he tohu tohu mahi hokinga i tukuna hei tawhā. I te otinga o te whakawhitinga, ka karangahia e te puranga o te taputapu tenei mahi waea hoki kia taea ai e te tono te whakaoti i te whakawhitinga ma te tarai i te hua whakawhiti. Hei tauira, i te otinga o te mahi panui, ka taea e te tono te mahi tukatuka i nga raraunga kua riro. Ka mutu te tuhi, ka taea e te tono te tohu mena i angitu te tuhi me te maha o nga paita i tukuna.
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
57/174
Ka mutuview
(4) Ka taea hoki te tuku i tetahi tautohe e hono ana ki te hokinga mai. Na i roto i te horopaki waea hoki, ka taea te tiki etahi korero motuhake. (5) Ko te tono e whakarato ana i te parapara tuku tuatahi. (6) Mena kua tautuhia tenei haki ki te pono , a ko te roa o te whakawhiti he maha o te rahinga morahi morahi o te pito mutunga, ka tukuna e te puranga taputapu he putea kore-roa ki te kaihautu hei tohu i te mutunga o te whakawhitinga. Ko te whakamahinga o nga mahi whakawhiti korero mutunga, sl_usbd_vendor_read_interrupt_async() me te sl_usbd_vendor_write_interrupt_async() , he rite ki nga mahi korero mutunga nui kua whakaatuhia i Exampte Asynchronous Bulk Panui me te Tuhituhi.
Tono Kaihoko
Ko te whakatakotoranga USB 2.0 e whakaatu ana i nga momo tono e toru: te paerewa, te karaehe, me te kaihoko. Ko nga tono paerewa katoa e whakahaerehia tika ana e te paparanga matua, ko nga tono karaehe e whakahaeretia ana e te karaehe e tika ana. Ka taea e te akomanga kaihoko te whakahaere i nga tono a nga kaihoko. Hei tukatuka i nga tono a te kaihoko, me homai e koe he waea whakahoki tono hei tawhā o sl_usbd_vendor_create_instance() . I muri i te tono a te kaihoko mai i te taputapu USB, me tika te wetewete. Ko te exampKei raro nei e whakaatu ana i te wetewete tono a te kaihoko. Ka hiahiatia etahi tono kia whiwhi mai, tuku mai ranei ki te kaihautu i nga wa o nga raraungatage o te whakawhitinga mana. Mena kaore he raraunga stagkei reira, me wetewete noa koe i te kete Tatūnga. Ko tenei exampe whakaatu ana i nga momo raraunga e torutage whakahaere: kahore he raraunga, raraunga OUT me raraunga IN.
Example – Kaihoko Tono Wetewete
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
58/174
Ka mutuview
#tautuhia APP_VENDOR_REQ_NO_DATA
0x01u
#tautuhia APP_VENDOR_REQ_RECEIVE_DATA_FROM_HOST 0x02u
#tautuhia APP_VENDOR_REQ_SEND_DATA_TO_HOST 0x03u
#tautuhia APP_VENDOR_REQ_DATA_BUF_SIZE
50u
uint8_t app_vendor_req_buf[APP_VENDOR_REQ_DATA_BUF_SIZE];
static bool app_usbd_vendor_req (uint8_t
akomanga_nbr,
const sl_usbd_setup_req_t *p_setup_req)
(1)
{
whaimana te putea;
sl_status_t tūnga;
uint16_t req_len;
uint32_t xfer_len;
(kore)class_nbr;
whakawhiti(p_setup_req->bTono) { take APP_VENDOR_REQ_NO_DATA: whaimana = pono; pakaru;
(2) (3)
take APP_VENDOR_REQ_RECEIVE_DATA_FROM_HOST:
(4)
req_len = p_setup_req->wLength;
ki te (req_len > APP_VENDOR_REQ_DATA_BUF_SIZE) {
// He iti rawa te waahi mo te whiwhi raraunga.
hoki mai (teka);
}
// Whiwhi raraunga ma te Mana OUT EP. // Taria te otinga whakawhitinga ake ake. tūnga = sl_usbd_core_read_control_sync((kore *)&app_vendor_req_buf[0u],
req_len, 0u, &xfer_len); ki te (tuanga! SL_STATUS_OK) { whaimana = teka; } atu { whaimana = pono; } whati;
take APP_VENDOR_REQ_SEND_DATA_TO_HOST:
(5)
req_len = APP_VENDOR_REQ_DATA_BUF_SIZE;
// Whakakiia te buf ki tetahi tauira. Me_Set((kore *)&AppVendorReqBuf[0u],
'A',
req_len);
// Tuku raraunga ma te Mana IN EP. // Taria te otinga whakawhitinga ake ake. tūnga = sl_usbd_core_write_control_sync((kore *)&app_vendor_req_buf[0u],
req_len, 0u, teka, &xfer_len); ki te (tuunga! SL_STATUS_OK) { whaimana = DEF_FAIL; } atu { whaimana = DEF_OK; } whati;
taunoa:
(6)
// Kāore te tono e tautokohia.
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
59/174
Ka mutuview
whaimana =true;break;
take APP_VENDOR_REQ_RECEIVE_DATA_FROM_HOST:(4) req_len = p_setup_req->wLength;if(req_len > APP_VENDOR_REQ_DATA_BUF_SIZE){// He iti rawa te waahi hei tango raraunga.whakahoki(teka);}// Whiwhi raraunga ma te Whakawhitinga / Whakawhitinga ake ake. tūnga =sl_usbd_core_read_control_sync((kore *)&app_vendor_req_buf[0u],
req_len,0u,&xfer_len);mehemea(tuunga ! SL_STATUS_OK){ whaimana =hapa;} atu{ whaimana = pono;}pakaru;
take APP_VENDOR_REQ_SEND_DATA_TO_HOST:(5) req_len = APP_VENDOR_REQ_DATA_BUF_SIZE;// Whakakiia te buf ki tetahi tauira.Mem_Set((kore *)&AppVendorReqBuf[0u],'A',
req_len);// Tukua raraunga ma te Mana IN EP.// Taria te otinga whakawhiti ake ake. tūnga =sl_usbd_core_write_control_sync((kore *)&app_vendor_req_buf[0u],
req_len,0u,teka,&xfer_len);mehemea(tuunga ! SL_STATUS_OK){ whaimana = DEF_FAIL;} atu { whaimana = DEF_OK;} whati;
taunoa:(6)// Kāore te tono e tautokohia. whaimana = DEF_FAIL;break;}whakahoki(mana);}
(1) Ka tukuna e te matua te ihirangi kete Tatūnga ki to tono. Kei roto i te hanganga sl_usbd_setup_req_t nga mara rite tonu i tautuhia e te whakahuahua USB 2.0 (tirohia te waahanga "9.3 Nga Tono Pūrere USB" o te korero mo etahi atu taipitopito):
momotuhi hanganga {
uint8_t bmRequestType; /* Nga ahuatanga o te tono.
*/
uint8_t bTono; /* Tono motuhake.
*/
uint16_t wValue; /* He rereke i runga i te tono.
*/
uint16_t wIndex; /* He rereke i runga i te tono; ka whakamahia hei taupū.*/
uint16_t wLength; /* Whakawhiti te roa ki te s raraungatage te aroaro.
*/
} sl_usbd_setup_req_t;
(2) Whakatauhia te tono. Ka taea e koe te whakamahi i tetahi korero whakawhiti mena kei te whakamahi koe i nga tono rereke. I roto i tenei exampe, e toru nga tono rereke e rite ana ki nga momo e toru o nga raraungatage: APP_VENDOR_REQ_NO_DATA, APP_VENDOR_REQ_RECEIVE_DATA_FROM_HOST, me APP_VENDOR_REQ_SEND_DATA_TO_HOST.
(3) Ki te kore he raraunga stagkei reira, me wetewete noa e koe etahi atu mara. Te aroaro o te raraunga stage, kaore ranei e tohuhia ana e te mara wKo te roa he kore-kore, he kore ranei.
(4) Mena ka tukuna e te kaihautu nga raraunga ki te taputapu, me waea koe ki te mahi sl_usbd_core_read_control_sync() . Ko te parepare e whakaratohia ana me kaha ki roto ki nga paita wLength. Mena ka puta he hapa, whakahokia teka ki te matua ka aukati i te mana stage o te whakawhitinga mana, e tohu ana ki te kaihautu kaore e taea te tukatuka i te tono. ka whakahokia te pono ki te angitu.
(5) Mena ka whiwhi te kaihautu i nga raraunga mai i te taputapu, me waea koe ki te mahi sl_usbd_core_write_control_sync() . Mena ka puta he hapa, whakahokia teka ki te matua ka aukati i te mana stage o te whakawhitinga mana, e tohu ana ki te kaihautu kaore e taea te tukatuka i te tono. ka whakahokia te pono ki te angitu.
(6) I roto i tenei exampAe, ko nga tono katoa kaore i te mohiotia ka tohua ma te whakahoki teka ki te kaupapa. Ma tenei ka aukati i nga raraunga me te mana stage o te whakawhitinga mana e tohu ana ki te kaihautu kaore i te tautokohia te tono.
Ka tukuna e te kaihautu nga tono kaihoko ma te tono kaihoko kaihoko. Ko nga whare pukapuka USb, penei i te libusb, ka taea te whakamahi hei awhina i a koe ki te whakawhanake i to tono kaihoko kaihautu.
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
60/174
Tuhinga API
Tuhinga API
Tuhinga API
Rārangi o ngā kōwae
API Pūrere USB Pūrere USB ACM API Pūrere USB CDC API USB Pūrere Matua API Pūrere USB HID API Pūrere USB MSC API Pūrere USB MSC SCSI API API Kaihokohoko Pūrere USB
Whakaahuatanga
API Pūrere USB Pūrere USB ACM API Pūrere USB CDC API USB Pūrere Matua API Pūrere USB HID API Pūrere USB MSC API Pūrere USB MSC SCSI API API Kaihokohoko Pūrere USB
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
61/174
API Pūrere USB
API Pūrere USB
API Pūrere USB
API Pūrere USB.
Kōwae
Pūrere USB ACM API Pūrere USB CDC API USB Pūrere Matua API Pūrere USB HID API Pūrere USB MSC API Pūrere USB MSC SCSI API API Kaihokohoko Pūrere USB
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
62/174
API ACM Pūrere USB
API ACM Pūrere USB
API ACM Pūrere USB
USB Pūrere CDC ACM API.
Kōwae
he sl_usbd_cdc_ cm_line_coding_t sl_usbd_cdc_acm_callbacks_t
Nga Mahi
sl_status_t sl_status_t
sl_status_t sl_status_t sl_status_t
sl_tu_t
sl_tu_t
sl_tu_t
sl_tu_t sl_tu_t sl_tu_t sl_tu_t
he sl_usbd_cdc_ cm_init(kore)
PANUITANGA O TE AO.
ssll__uussbbdd__ccddcc__aaccmm__ccraellabtaec_kins_stta*npc_ea(cumin_tc1a6l_lbtalicnkes_,sutaintte8__int t*eprv_saul,bucinlats1s6__nt bcra)ll_mgmt_capabilities,
Tāpirihia he tauira hou o te CDC ACM rangatū tauira whakahoa.
aaaa sl_usbd_cdc_ cm_ dd_to_configur tion(uint8_t subcl ss_nbr, uint8_t config_nbr)
Tāpirihia he tauira karaehe karaehe CDC ACM ki te whirihoranga taputapu USB.
aa sl_usbd_cdc_ cm_is_en toto(uint8_t subclass_nbr, bool *p_enabled)
Tikina te CDC ACM rangatū emulation subclass enable state.
aaa sl_usbd_cdc_ cm_re d(uint8_t subcl ss_nbr, uint8_t *p_buf, uint32_t buf_len, uint16_t timeout, uint32_t
*p_xfer_len) Whiwhi raraunga i runga i te CDC ACM rangatū emulation subclass.
aaaa sl_usbd_cdc_ cm_re d_ tukutahi(uint8_t subcl ss_nbr, uint8_t *p_buf, uint32_t buf_len, aaaa sl_usbd_cdc_ sync_function_t sync_fnct, void *p_ sync_rg)
Whiwhi raraunga i runga i te CDC ACM rangatū emulation subclass asynchronously.
aa sl_usbd_cdc_ cm_write(uint8_t subcl ss_nbr, uint8_t *p_buf, uint32_t buf_len, uint16_t timeout, uint32_t
*p_xfer_len) Tukuna nga raraunga mo te CDC ACM te karaehe whaiwhai rangatū.
aaa sl_usbd_cdc_ cm_write_ sync(uint8_t subcl ss_nbr, uint8_t *p_buf, uint32_t buf_len, aaaa sl_usbd_cdc_ sync_function_t sync_fnct, kore *p_ sync_rg)
Tukuna nga raraunga mo te CDC ACM rangatū tauira whakaaruatanga.
aaa sl_usbd_cdc_ cm_get_line_control_st te(uint8_t subcl ss_nbr, uint8_t *p_line_ctrl)
Whakahokia te ahua o nga raina mana.
aaa sl_usbd_cdc_ cm_get_line_coding(uint8_t subcl ss_nbr, sl_usbd_cdc_ cm_line_coding_t *p_line_coding)
Tikina te ahua o naianei o te waehere raina.
aaa sl_usbd_cdc_ cm_set_line_coding(uint8_t subcl ss_nbr, sl_usbd_cdc_ cm_line_coding_t *p_line_coding)
Whakaritea he waehere raina hou.
aaa sl_usbd_cdc_ cm_set_line_st te_event(uint8_t subcl ss_nbr, uint8_t events)
Whakatakotoria he hui ahua raina.
aaaa sl_usbd_cdc_ cm_cle r_line_st te_event(uint8_t subcl ss_nbr, uint8_t takahanga)
Ūkuia tētahi hui āhua rārangi.
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
63/174
API ACM Pūrere USB
Tonotono
#define SL_USBD_CDC_ACM_NBR_KORE 255u
KORERO.
#tautuhia SL_USBD_CDC_ACM_PARITY_KORE 0u
HE WHAKAMAHI I NGA TAUTANGA.
#tautuhia te SL_USBD_CDC_ACM_PARITY_ODD 1u #tautuhia SL_USBD_CDC_ACM_PARITY_AVEN 2u #tautuhia SL_USBD_CDC_ACM_PARITY_MARK 3u #tautuhia SL_USBD_CDC_ACM_PARITY_SPACE 4u #BD_SCDC0 #tautuhia SL_USBD_CDC_ACM_STOP_BIT_1_5 1u #tautuhia SL_USBD_CDC_ACM_STOP_BIT_2 2u #tautuhia SL_USBD_CDC_ACM_CTRL_BREAK 0 01u
LINE EVENTS TE WHAKATAUTANGA.
#tautuhia SL_USBD_CDC_ACM_CTRL_RTS 0 02u #tautuhia SL_USBD_CDC_ACM_CTRL_DTR 0 04u #tautuhia SL_USBD_CDC_ACM_STATE_DCD 0 01u #tautuhia SL_USBD_CDC_ACM_0STATE_DuSR SL_USBD_CDC_ACM_STATE_BREAK 0 04u #define SL_USBD_CDC_ACM_STATE_RING 0 08u #define SL_USBD_CDC_ACM_STATE_FRAMING 0 10u #define SL_USBD_CDC_ACM_STATE_PARITY #0 . SL_USBD_CDC_ACM_STATE_OVERUN 0 40u #tautuhia SL_USBD_CDC_ACM_CALL_MGMT_DEV 0 01u
KAUPAPA KAUPAPA KAUPAPA.
#define SL_USBD_CDC_ACM_CALL_MGMT_DATA_CCI_DCI 0 02u #define SL_USBD_CDC_ACM_CALL_MGMT_DATA_OVER_DCI 0 02u | 0 01u)
Tuhinga Mahi
sl_usbd_cdc_acm_init
sl_status_t sl_usbd_cdc_acm_init (kore)
PANUITANGA O TE AO. Tawhā
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
64/174
API ACM Pūrere USB
Momo
korekore
Aronga N/A
Ingoa Tohenga
MACROS GLOBAL CONSTANTS FUNCTION PROTOTYPES CDC ACM FUNCTIONS
Arataki te CDC ACM rangatū tauira whaiwhai akomanga.
Ka hoki mai
Ka whakahoki SL_STATUS_OK i te angitu, i tetahi atu waehere SL_STATUS ranei ina rahua.
Whakaahuatanga
sl_usbd_cdc_acm_create_instance
sl_status_t sl_usbd_cdc_acm_create_instance (uint16_t line_state_interval, uint16_t call_mgmt_capabilities, sl_usbd_cdc_acm_callbacks_t * p_acm_callbacks, uint8_t * p_subclass
Tāpirihia he tauira hou o te CDC ACM rangatū tauira whakahoa.
Tawhā
Momo
uint16_t
uint16_t
Ingoa Tohenga Ahunga
Whakaahuatanga
N/A
line_state_interval Te wa whakamohiotanga ahua o te raina i roto i nga mitamano (me utu
hei mana 2).
N/A
call_mgmt_capabilities Mahere Moka Whakahaere Waea Whakahaere. RĀNEI o te
e whai ake nei nga haki:
Ko SL_USBD_CDC_ACM_CALL_MGMT_DEV te Pūrere ma te whakahaere waea. SL_USBD_CDC_ACM_CALL_MGMT_DATA_CCI_DCI Ka taea e te Pūrere te tuku/whiwhi korero whakahaere waea ki runga i te atanga Raraunga Raraunga.
sl_usbd_cdc_acm_callbacks_t N/A
*
uint8_t *
N/A
p_acm_callbacks p_subclass_nbr
Ko nga tohu tohu ki nga mahi hokiwaea ka karangahia ki nga huihuinga rereke.
Parama ki te taurangi ka whiwhi i te CDC ACM tauira tauira tauira tauira.
Ka hoki mai
Whakahokia SL_STATUS_OK ina angitu, tetahi atu waehere SL_STATUS ranei ina rahua.
sl_usbd_cdc_acm_add_to_configuration
sl_status_t sl_usbd_cdc_acm_add_to_configuration (uint8_t subclass_nbr, uint8_t config_nbr)
Tāpirihia he tauira karaehe karaehe CDC ACM ki te whirihoranga taputapu USB.
Tawhā
Momo
uint8_t uint8_t
Aronga N/AN/A
Ingoa Tohenga
subclass_nbr config_nbr
Whakaahuatanga CDC ACM rangatū tauira tau tauira tauira. Taupū whirihoranga ki te tāpiri atanga akomanga whakamātautau hōu ki.
Ka hoki mai
Mana pupuri © 2025 Silicon Laboratories. Katoa nga mana.
65/174
API ACM Pūrere USB
Ka whakahoki SL_STATUS_OK i te angitu, i tetahi atu waehere SL_STATUS ranei ina rahua.
sl_usbd_cdc_acm_is_enabled
sl_status_t sl_usbd_cdc_acm_is_enabled (uint8_t subclass_nbr, bool * p_enabled)
Tikina te CDC ACM rangatū emulation subclass enable state.
Tawhā
Momo
Te aronga
Ingoa Tohenga
Whakaahuatanga
uint8_t N/A
subclass_nbr CDC ACM tauira tauira tau tauira subclass.
bool * N/A
p_whakahohe
Boolean ki te taurangi ka whiwhi mana whakaahei. Kua tautuhia te taurangi ki te pono, kua whakahohea te peehi rangatū CDC ACM. Ko te va
Tuhinga / Rauemi
![]() |
SILICON LABS USB Pūrere Tāpae [pdf] Pukapuka Tohutohu Tāpae Pūrere USB, Tāpae Pūrere, Tāpae |
