Lámhleabhar Treorach Cruach Gléas USB SILICON LABS

Cruach Gléasanna USB

Sonraíochtaí

  • Leagan USB: 1.5.1
  • Dáta Eisiúna: 21 Iúil, 2025
  • Leagan SDK Simplicity: 2025.6.1

Táirge Tharview

Soláthraíonn cruach gléasanna USB ó Silicon Labs ilúsáideach agus
nascacht USB atá éasca le húsáid do thionscadail IoT, rud a éascaíonn
cumarsáid idir comhphróiseálaithe líonra agus óstaigh.

Gnéithe

  • Cruach gléasanna USB éifeachtach
  • Oiriúnach do thionscadail Idirlín na Rudaí
  • Tacaíocht le haghaidh cumarsáide idir comhphróiseálaithe líonra agus
    óstach

Treoracha Úsáide Táirge

Cumraíocht Gléas USB

Cumraigh socruithe an ghléis USB de réir do thionscadail
ceanglais trí thagairt a dhéanamh don rannán Cumraíocht Gléas USB
sa doiciméadú.

Treoir Chlársceidealaithe Gléasanna USB

Lean an Treoir Chlárúcháin Gléas USB chun tuiscint a fháil ar conas
clár agus idirghníomhú leis an bhfeiste USB le haghaidh rudaí éagsúla
iarratais.

Ranganna Gléasanna USB

Soláthraíonn an rannán Ranganna Gléasanna USB breis eolaisview de dhifriúil
ranganna cosúil le CDC ACM, HID, MSC SCSI, agus Rang Díoltóra. Roghnaigh an
rang cuí bunaithe ar fheidhmiúlacht do ghléis.

Fabhtcheartú Gléas USB

Má bhíonn aon fhadhbanna agat leis an ngléas USB, féach ar an
Rannóg Fabhtcheartaithe Gléas USB le haghaidh réitigh agus dífhabhtaithe
leideanna.

Óstach USB Microsoft Windows OS

Má tá tú ag úsáid an fheiste USB le córas oibriúcháin Microsoft Windows USB
Óstach, déan cinnte na treoirlínte a chuirtear ar fáil sa
doiciméadú le haghaidh comhtháthú gan uaim.

CCanna

C: Cad iad roinnt exampníos lú gléasanna is féidir liom a thógáil ag baint úsáide astu
an carn USB seo?

A: Ligeann an stac USB duit gléasanna a thógáil amhail
Oiriúnaitheoirí USB-go-sraitheach, lucha nó méarchláir, stóráil inbhainte
gléasanna, agus gléasanna saincheaptha.

C: An bhfuil aon riachtanais bhogearraí sonracha ann chun é seo a úsáid
Cruach gléasanna USB?

A: I measc na mbogearraí comhoiriúnacha tá Simplicity SDK, Simplicity
Stiúideo, Simplicity Commander, GCC (Bailiúchán Tiomsaitheoirí GNU),
Binse Oibre Leabaithe IAR do ARM, agus IAR EWARM.

Bus Sraitheach Uilíoch USB

Bus Sraitheach Uilíoch USB

USB Tharview Tharview
Nótaí Eisiúna USB
Sonraíochtaí agus Gnéithe Tharview
Cumraíocht Gléas USB Tharview
Treoir Chlársceidealaithe Gléasanna USB Tharview
Ranganna Gléasanna USB Tharview Rang CDC ACM Tharview Rang HID Tharview Rang SCSI MSC Tharview Rang Díoltóra Tharview
Doiciméadacht API USB API Gléas USB ACM Gléas USB a sl_usbd_cdc_ cm_line_coding_t sl_usbd_cdc_acm_callbacks_t CDC Gléas USB API a sl_usbd_cdc_subcl ss_driver_t Croí-API Gléas USB
sl_usbd_device_config_t sl_usbd_setup_req_t
sl_usbd_cl ss_driver_t Gléas USB HID API
sl_usbd_hid_callbacks_t Gléas USB API MSC
sl_usbd_msc_subcl ss_driver_t Gléas USB MSC SCSI API
sl_usbd_msc_scsi_callbacks_t

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

1/174

Bus Sraitheach Uilíoch USB
sl_usbd_msc_scsi_lun_ pi
sl_usbd_msc_scsi_lun_info sl_usbd_msc_scsi_lun
API Díoltóir Gléas USB sl_usbd_vendor_callbacks_t
Doiciméadú API Fabhtcheartú Gléas USB
Tharview Óstach USB Microsoft Windows OS
Tharview

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

2/174

Tharview
Tharview
Gléas USB
Tá USB ar cheann de na comhéadain chumarsáide is rathúla i stair na gcóras ríomhaireachta agus is é an caighdeán de facto é chun forimeallaigh ríomhaire a nascadh. Is modúl gléas USB é cruach Gléas USB Silicon Labs atá deartha go sonrach do chórais leabaithe. Tógtha ón talamh aníos le cáilíocht, inscálaitheacht agus iontaofacht Silicon Labs, tá próiseas bailíochtaithe dian déanta air chun cloí le sonraíocht USB 2.0. Déanann an doiciméadú seo cur síos ar conas cruach Gléas USB Silicon Labs a thosú, a thosú agus a úsáid. Míníonn sé na luachanna cumraíochta éagsúla agus a n-úsáidí. Cuimsíonn sé freisin forbhreathnú...view na teicneolaíochta, cineálacha féidearthachtaí cumraíochta, nósanna imeachta cur chun feidhme, agus iar-ampúsáide tipiciúla do gach rang atá ar fáil.
Chun cabhrú leat coincheapa an USB a thuiscint go tapa, tá go leor samplaí sa doiciméadachtampLeictreonaigh USB le feidhmeanna bunúsacha. Na samplaí seoampCuirfidh les creat ar fáil duit a ligeann duit gléasanna a thógáil go tapa. Na samplaí seoampáirítear les:
Cuibheoir USB-go-sraitheach (Rang Gléas Cumarsáide) Luch nó méarchlár (Rang Gléas Comhéadain Dhaonna) Gléas stórála inbhainte (Rang Stórála Mais) Gléas saincheaptha (Rang Díoltóra)
Seo a leanas an deireadhview de na rannóga doiciméadachta:
Sonraíochtaí agus Gnéithe Cumraíocht Gléas USB Treoir Chlársceidealaithe Gléas USB Ranganna Gléas USB
Aicme CDC ACM Aicme HID Aicme MSC Aicme SCSI Aicme Díoltóra Fabhtcheartú Gléas USB Córas Oibriúcháin Microsoft Windows Óstach USB

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

3/174

USB
USB

USB Leagan 1.5.1 21 Iúil, 2025 – Nótaí Eisiúna
Leagan 2025.6.1 den SDK Simplicity
Cuireann cruach gléasanna USB éifeachtach Silicon Labs nascacht USB ildánach, éasca le húsáid ar fáil atá oiriúnach do thionscadail Idirlín na Rudaí (IoT), lena n-áirítear cumarsáid idir comhphróiseálaithe líonra agus óstaigh. Cliceáil anseo le haghaidh eisiúintí níos luaithe.
Achoimre Eisiúint
Príomhghnéithe | Athruithe API | Ceartúcháin Fabhtanna | Cumasú Sliseanna
Príomhghnéithe
Athruithe bunúsacha ar an ardán amháin.
Athruithe API
Dada.
Ceartúcháin fhabht
Dada.
Cumasú Sliseanna
Dada.
Príomhghnéithe
Gnéithe Nua | Feabhsuithe | Gnéithe Bainte | Gnéithe atá imithe i léig
Gnéithe Nua
Dada.
Feabhsuithe
Athruithe bunúsacha ar an ardán amháin.
Gnéithe Bainte
Dada.
Gnéithe Díláraithe
Dada.
Athruithe API
APIanna Nua | APIanna Modhnaithe | APIanna Bainte | APIanna Díomhaointe
APIs nua

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

4/174

USB
Dada.
APIanna modhnaithe
Dada.
APIanna bainte
Dada.
APIanna atá imithe i léig
Dada.
Ceartúcháin fhabht
Dada.
Cumasú Sliseanna
Dada.
Feidhmchlár Exampna hAthruithe
Sean nuaamples | Ex Modhnaitheamples | Baineadh Examples | Sean-Rudaí atá imithe i léigamples
Sean nuaamples
Dada.
Ex Modhnaitheamples
Dada.
Baineadh Examples
Dada.
Ex atá as feidhmamples
Dada.
Tionchar Athruithe Scaoilte
Ráitis Tionchair | Treoir Imirce
Ráitis Tionchair
Dada.
Treoir Imirce
Dada.
Saincheisteanna agus Teorainneacha Aitheanta
Dada.
Ag Úsáid an Eisiúint Seo

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

5/174

USB

Cad atá san Eisiúint? | Bogearraí Comhoiriúnacha | Suiteáil agus Úsáid | Cabhair agus Aiseolas

Cad atá san Eisiúint?

Feidhmchlár Cruach Gléas USB Examples
Bogearraí Comhoiriúnach

Bogearraí
SDK Simplicity, Stiúideo Simplicity, Commander Simplicity GCC (Bailiúchán Tiomsaitheoirí GNU) Binse Oibre Leabaithe IAR do ARM, IAR EWARM

Leagan nó Malartú Comhoiriúnach
2025.6.0 5.11.0 1.18.2 (ar fáil le Simplicity Studio) 12.2.1 (ar fáil le Simplicity Studio) 9.40.1 (ar fáil le Simplicity Studio)

Suiteáil agus Úsáid

Chun tús a chur le do fhorbairt féach ar ár gcuid:
Treoir Chlársceidealaithe Gléasanna USB. Doiciméadú API.
Le haghaidh eolais faoi Chomhtháthú Secure Vault, féach Secure Vault.
Le hathview Fógraí Comhairleacha Slándála agus Bogearraí agus bainistigh do chuid sainroghanna fógraí:
ò Téigh go https://community.silabs.com/. ò Logáil isteach le dintiúir do chuntais. ò Cliceáil ar do phrofile deilbhín sa chúinne uachtarach ar dheis den leathanach.
Roghnaigh Fógraí ón roghchlár anuas. ö Sa rannán Fógraí, téigh go dtí an cluaisín Mo Fhógraí Táirge chunview Comhairleoireacht Slándála agus Bogearraí stairiúil
fógraí
÷ Chun do chuid sainroghanna a bhainistiú, bain úsáid as an táb Bainistigh Fógraí chun na nuashonruithe táirgí agus na comhairle a oireann duit a shaincheapadh
fháil.
Le haghaidh socruithe cumraíochta molta, féach anseo.
Chun tuilleadh eolais a fháil faoin mbogearra sa leagan seo, féach ar ár ndoiciméadú ar líne.
Cabhair agus Aiseolas

Téigh i dteagmháil le Tacaíocht Silicon Labs. Chun ár n-uirlis Iarr ar AI a úsáid chun freagraí a fháil, féach ar an réimse cuardaigh ag barr an leathanaigh seo.

Nóta: Tá Ask AI turgnamhach.

Faigh cabhair ónár bpobal forbróirí.
Beartas Eisiúna agus Cothabhála SDK
Féach ar ár mBeartas um Scaoileadh agus Cothabháil SDK.

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

6/174

Tharview
Tharview
Sonraíochtaí
Comhlíonann sé “Universal Serial Bus specification review 2.0” Cuireann sé “Interface Association Descriptor Engineering Change Notice (ECN)” i bhfeidhm Cineálacha aistrithe
Ranganna USB Idirbhriseadh Bulc Rialaithe Rang Gléas Cumarsáide (CDC) Samhail Rialaithe Teibí (ACM) Gléas Comhéadain Dhaonna (HID) Rang Stórála Mais (MSC) Creat ranga atá sainiúil don díoltóir
Gnéithe
Inscálaithe chun gnéithe riachtanacha amháin a áireamh chun lorg cuimhne a íoslaghdú Tacaíonn sé le gléasanna lánluais (12 Mbit/s) Tacaíonn sé le gléasanna ilchodacha (ilfheidhmeacha) Tacaíonn sé le gléasanna ilchumraíochta Tacaíonn sé le feidhmiúlachtaí coigilte cumhachta USB (feiste a chur ar fionraí agus a atosú) Comhtháthú iomlán den Mass Storage Class isteach i Micrium OS File Modúl córais Forbraíodh é le ciseal teibí CMSIS-RTOS2 ionas gur féidir leis oibriú le córais oibriúcháin éagsúla. Tagann calafoirt OS FreeRTOS agus Micrium le GSDK Silicon Labs.

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

7/174

Tharview
Tharview

Cumraíocht Gléas USB

Pléann an chuid seo conas Gléas USB Silicon Labs a chumrú. Tá trí ghrúpa paraiméadair chumraíochta ann, mar seo a leanas:
Cumraíocht Chroí-Ghléas USB Cumraíocht Faisnéise Gléas USB Cumraíocht Crua-earraí Gléas USB
Cumraíocht Chroí-Ghléas USB
Is féidir Gléas USB Silicon Labs a chumrú ag am an tiomsaithe trí shraith #defines atá suite sa sl_usbd_core_config.h fileÚsáideann Gléas USB #defines nuair is féidir mar go gceadaíonn siad méideanna cóid agus sonraí a scálú ag am tiomsaithe bunaithe ar na gnéithe atá cumasaithe. Ligeann sé seo lorg cuimhne inléite amháin (ROM) agus cuimhne rochtana randamaí (RAM) Gléas USB Silicon Labs a choigeartú bunaithe ar riachtanais d'fheidhmchláir.
Molta: Tosaigh an próiseas cumraíochta leis na luachanna réamhshocraithe (aibhsithe i gcló trom).
Tá na rannóga thíos eagraithe bunaithe ar an ord atá sa chumraíocht teimpléid file, sl_usbd_core_config.h.
Cumraíocht na gClár-Ranganna Cumraíochta
Croíchumraíocht
Tábla – Tairiseacha Cumraíochta Croí-Ghléas USB

Cur Síos Tairiseach

Luach Réamhshocraithe

MÉID SL_USBD_TA SK_STACK_

Cumraíonn sé méid an chruach i mbéiteanna de phríomhthasc USBD

4096

SL_USBD_TA SK_PORIT Y

Cumraíonn sé tosaíocht phríomhthasc USBD. Is tosaíocht CMSIS-RTOS2 í seo.

Ard-Tosaíocht os

SL_USBD_A UTO_START _USB_DEVIC E

Má tá sé cumasaithe, cuirfear tús leis an ngléas USB go huathoibríoch a luaithe a thosófar an eithne agus go sceidealófar an tasc lárnach USBD sin den chéad uair. Má tá sé díchumasaithe, beidh ar d'fheidhmchlár glaoch ar sl_usbd_core_start_device() nuair a bheidh sé réidh le go mbraithfidh an t-óstach USB é.

SL_USBD_C Líon iomlán na gcumraíochtaí a chuirfear leis tríd an sl_usbd_add_configuration()

1

Feidhm ONFIGURATI.

AR_QUANTI

TY

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

8/174

Tharview

tairiseach
SL_USBD _INTERF ACE_QU FRITHGHNÉITHEACH
SL_USBD _ALT_INT ERFACE_ CAINNÍOCHT
TY
SL_USBD _INTERF ACE_GR
OUP_QU
ANTITY
SL_USBD _DESCRI
PTOR_Q
UANTACHT
SL_USBD _STRING _QUANTI
TY
SL_USBD _OPEN_E NDPOIN TS_QUA NTITY

Cur Síos Líon iomlán na gcomhéadan USB atá le cur leis do do chumraíochtaí uile. Braitheann sé seo go mór ar an rang/na ranganna a úsáidtear. Le haghaidh tuilleadh eolais ar cé mhéad comhéadan a theastaíonn ó chás ranga, féach ar an rannán “Riachtanais Acmhainní ón gcroílár” de do rang/ranganna.
Líon iomlán na gcomhéadan malartacha USB atá le cur leis do do chumraíochtaí uile. Braitheann sé seo go mór ar an rang/na ranganna a úsáidtear. Caithfidh an luach seo a bheith cothrom le nó níos mó ná SL_USBD_INTERFACE_QUANTITY i gcónaí. Le haghaidh tuilleadh eolais faoi cé mhéad comhéadan malartacha a theastaíonn ó chás ranga, féach ar an rannán “Riachtanais Acmhainní ón gCroílár” de do rang/ranganna.
Líon iomlán na ngrúpaí comhéadain USB a chuirfear leis do do chumraíochtaí uile. Braitheann sé seo go mór ar an rang/na ranganna a úsáidtear. Le haghaidh tuilleadh eolais faoi cé mhéad grúpa comhéadain a theastaíonn ó shampla ranga, féach ar an rannán “Riachtanais Acmhainní ón gCroílár” de do rang/ranganna.
Líon iomlán na dtuairiscí críochphointí a chuirfear leis do do chumraíochtaí go léir. Braitheann sé seo go mór ar an rang/na ranganna a úsáidtear. Le haghaidh tuilleadh eolais ar cé mhéad tuairiscí críochphointí a theastaíonn ó chás ranga, féach ar “Líon na gcríochphointí” sa rannán “Riachtanais Acmhainní ón gCroílár” de do rang/na ranganna. Tabhair faoi deara nach gá na críochphointí rialaithe a chur san áireamh anseo. Líon iomlán na dtéacs USB. Má shocraítear an chainníocht go náid, díchumasófar an ghné. Má dhíchumasaítear é seo, ní stórálfaidh an gléas aon teaghráin tuairisce USB a théann ón bhfeidhmchlár. Ciallaíonn sé seo nach mbeidh an t-óstach in ann na teaghráin tuairisce (amhail ainm an mhonaróra agus an táirge) a aisghabháil. Líon iomlán na gcríochphointí oscailte in aghaidh na cumraíochta. Éilíonn gléas dhá chríochphointe oscailte ar a laghad le haghaidh aistrithe rialaithe, ach ní mór duit críochphointí an ranga/na ranganna a úsáidtear a chur leis freisin. Le haghaidh tuilleadh eolais ar cé mhéad críochphointe oscailte a theastaíonn ó chás ranga, féach ar “Líon na gcríochphointí” sa rannán “Riachtanais Acmhainní ón gCroílár” de do rang/na ranganna.

Luach Réamhshocraithe
10 10
2
20 30 20

Cumraíocht na Ranganna
Bíonn cumraíochtaí sonracha ag baint le ham tiomsaithe na ranganna. Féach ar Ranganna Gléas USB le haghaidh tuilleadh eolais.
Cumraíocht Faisnéise Gléas USB

Cumraíocht sl_usbd_device_config.h file athghrúpálann sé #define-s ag am an tiomsaithe chun faisnéis bhunúsach a shocrú maidir le do ghléas, amhail ID Díoltóra/Táirge, teaghráin ghléis, srl. Déanann an tábla thíos cur síos ar gach sainmhíniú cumraíochta faisnéise atá ar fáil sa chumraíocht seo. file.

Tábla – Sainmhíníonn Cumraíocht Faisnéise Gléas USB

tairiseach
ID_DÍOLTÓRA_FHEIDHME SL_USBD_DEVIC
SL_USBD_DEVIC E_PRODUCT_ID

Cur síos D'uimhir aitheantais díoltóra mar a sheachad Fóram Chur i bhFeidhm USB. Le haghaidh tuilleadh eolais ar conas is féidir leat aitheantas díoltóra a fháil, féach http://www.usb.org/developers/vendor/. D'uimhir aitheantais táirge.

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

9/174

Tharview

tairiseach

Cur síos

Uimhir scaoilte SL_USBD_DEVICE_RELEASE do ghléis. _NUMBER

SL_USBD_DEVICE_MANUFA Teaghrán a chuireann síos ar mhonaróir do ghléis. Déantar neamhaird den chumraíocht seo nuair a bhíonn an

CTURER_STRING

Tá an chumraíocht SL_USBD_STRING_QUANTITY socraithe go 0.

SL_USBD_DEVICE_PRODUC Teaghrán a chuireann síos ar do tháirge. Déantar neamhaird den chumraíocht seo nuair a bhíonn an chumraíocht

T_STRING

Tá SL_USBD_STRING_QUANTITY socraithe go 0.

SL_USBD_DEVICE_SERIAL_N Teaghrán ina bhfuil uimhir sraitheach do ghléis. Déantar neamhaird den chumraíocht seo nuair a bhíonn an

UMBER_STRING

Tá an chumraíocht SL_USBD_STRING_QUANTITY socraithe go 0.

SL_USBD_DEVICE_LANGUA Uimhir aitheantais teanga teaghráin do ghléis. Is iad seo a leanas na luachanna féideartha:
GE_ID

– SL_USBD_LANG_ID_ARABIC_SAUDI_ARABIA

– SL_USBD_LANG_ID_CHINESE_TAIWAN

– SL_USBD_LANG_ID_BÉARLA_US

– SL_USBD_LANG_ID_BÉARLA_RA

– SL_USBD_LANG_ID_FRAINCIS

– SL_USBD_LANG_ID_GEARMÁINISE

– SL_USBD_LANG_ID_GRÉIGIS

– SL_USBD_LANG_ID_ITALIAN

– SL_USBD_LANG_ID_PORTUGUESE

– SL_USBD_LANG_ID_SANSCRIT

Déantar neamhaird den chumraíocht seo nuair a shocraítear an chumraíocht SL_USBD_STRING_QUANTITY go 0.

Cumraíocht Crua-earraí Gléas USB

Ag brath ar an ngléas Silicon Labs atá in úsáid agat, b'fhéidir go mbeidh an biorán agus an port GPIO agat le cumrú le haghaidh comhartha USB VBUS Sense. Tá na sainmhínithe cumraíochta sa cheanntásc sl_usbd_hardware_config.h. file.

tairiseach
PORT_SENSE_TIOmáNAÍ_VBUS_SL_USBD UAP_SENSE_TIOmáNAÍ_VBUS_SL_USBD

Cur síos
Port GPIO don chomhartha USB VBUS Braite ar do bhord. Biorán GPIO don chomhartha USB VBUS Braite ar do bhord.

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

10/174

Tharview
Tharview
Treoir Chlársceidealaithe Gléasanna USB
Mínítear sa chuid seo conas an modúl Gléas USB a úsáid.
Socrú Tosaigh Modúl Gléas USB
Déantar cur síos sa chuid seo ar na céimeanna bunúsacha is gá chun an modúl Gléas USB a thosú agus gléas a chur leis, a ullmhú agus a thosú. Túsú an Mhodúil Gléas USB Croílár Gléas USB a Thosú Na ss(anna) aCl a Thosú Do Ghléas USB a Chur Leis Do Ghléas USB a Thógáil Cumraíocht(aí) a Chur Leis Feidhm(eanna) USB a Chur Leis Do Ghléas USB a Thosú
Feidhmeanna Hook Imeachta
Ag Tosú an Mhodúil Gléas USB
Croílár an Ghléas USB á Thosú
Tosaigh trí chroílár modúl na gléas B a thosú tríd an fheidhm sl_usbd_core_init() a líonadh. Taispeánann an sampla thíos conas sl_usbd_core_init() a líonadh.
Example – Ag glaoch ar sl_usbd_core_init()
sl_status_t stádas; stádas = sl_usbd_core_init(); má tá (stádas ! SL_STATUS_OK) { /* Tharla earráid. Ba chóir láimhseáil earráide a chur leis anseo. */
}
Ag Tosú na Ranga/na Ranganna
Tar éis croílár mhodúl an fheiste USB a thosú, ní mór duit gach rang atá beartaithe agat a úsáid a thosú. Féach an chuid “Treoir Chlársceidealaithe” de do chomhaid(í) acl le haghaidh tuilleadh eolais.
Ag Tógáil Do Ghléas USB
Cumraíocht(aí) á Chur Leis
Tar éis duit do ghléas a thosú go rathúil, is féidir leat tosú ag cur feidhmeanna USB leis, ag tosú le cumraíocht nua. Ní mór cumraíocht amháin ar a laghad a bheith ag gléas. Chun cumraíocht(aí) a chur leis, glaoigh ar an bhfeidhm sl_usbd_core_dd_configuration(). Ní ​​mór an fheidhm seo a ghlaoch le haghaidh gach cumraíochta is mian leat a chur leis. An t-eiseamláirampTaispeánann an leathanach thíos conas Lánluas a chur leis.
Example – Cumraíocht(aí) á Chur le do Ghléas

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

11/174

Tharview

sl_status_t stádas; uint8_t cumraíocht_nbr_fs;

/* Cumraíocht lánluais á cur leis an bhfeiste. */

stádas = sl_usbd_core_add_configuration(0,

/* Gan aon tréithe speisialta leis an chumraíocht. */

100u,

/* Uasmhéid tomhaltas cumhachta: 100mA.

*/

SL_USBD_DEVICE_SPEED_FULL,

/* Cumraíocht Lánluais.

*/

"Cumraigh Cuir Sean-Rud leis"amp"Cumraíocht Lánluais",

&config_nbr_fs);

má tá (stádas ! SL_STATUS_OK) {

/* Tharla earráid. Ba chóir láimhseáil earráide a chur leis anseo. */

}

Feidhm(eanna) USB á gcur leis
Tar éis duit cumraíocht amháin ar a laghad a chur le do ghléas go rathúil, is féidir leat na comhéadain agus na críochphointí a chur le do ghléas. Tá a riachtanais féin ag gach rang USB i dtéarmaí cineál comhéadain agus críochphointí, cainníocht, agus paraiméadair eile. Cuireann Gléas USB Silicon Labs comhéadain agus críochphointí leis na ranganna a thairgeann sé.
Ó d’fheidhmchlár, is féidir leat rang USB a chruthú agus é a chur le cumraíocht. Le haghaidh tuilleadh eolais ar choincheap na gcásanna ranga gléasanna USB, féach Ranganna Gléasanna USB. Tabhair faoi deara gur féidir leat go leor cásanna ranga éagsúla a chruthú agus a chur le cumraíocht chun gléas ilfheidhmeach (ilchodach) a chruthú.
An seanampTaispeánann an le thíos conas cás ranga a chruthú agus é a chur le cumraíocht.
Example – Ag cur sampla ranga le do ghléas

sl_status_t stádas; uint8_t uimhir_aicme;
/* Cruthaigh sampla den rang is mian leat a úsáid.*/ /* Tabhair faoi deara, ag brath ar an rang, go bhféadfadh níos mó argóintí a bheith ag an bhfeidhm seo. */ status = sl_usbd_ _create_instance(&class_nbr); má tá (status ! SL_STATUS_OK) { /* Tharla earráid. Ba chóir láimhseáil earráide a chur leis anseo. */ }
/* Cuir an cás ranga leis an chumraíocht Lánluais. */ stádas = sl_usbd_ _add_to_configuration(class_nbr, /* Uimhir na ranga arna cur ar ais ag sl_usbd_ _cruthaigh_cás. */
config_nbr_fs); /* Uimhir chumraíochta arna cur ar ais ag sl_usbd_core_add_configuration(). */ má tá (status ! SL_STATUS_OK) { /* Tharla earráid. Ba chóir láimhseáil earráide a chur leis anseo. */ }
Ag Tosú Do Ghléas USB
De réir réamhshocraithe, tosóidh tasc lárnach an ghléis USB an gléas go huathoibríoch tar éis thúsú an ghléis a bheith críochnaithe agus an croílár tosaithe. Chun a rialú cathain a thosófar an gléas agus cathain a bheidh sé le feiceáil ag an óstach USB, bain úsáid as an gcumraíocht a shainmhínítear SL_USBD_AUTO_START_USB_DEVICE chun an ghné uath-thosaithe a dhíchumasú. Nuair a bheidh sé díchumasaithe, tar éis duit do ghléas a thógáil/a ullmhú, is féidir leat é a thosú agus é a dhéanamh le feiceáil ag an óstach USB tríd an bhfeidhm sl_usbd_core_start_device() a ghlaoch.
An seanampTaispeánann an le thíos conas do ghléas a thosú ag baint úsáide as an bhfeidhm sl_usbd_core_start_device().
Example – Ag Tosú Do Ghléas

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

12/174

Tharview

sl_status_t stádas;
stádas = sl_usbd_core_start_device(); má tá (stádas ! SL_STATUS_OK) { /* Tharla earráid. Ba chóir láimhseáil earráide a chur leis anseo. */ }

Feidhmeanna Hook Imeachta
Cuireann croí-mhodúl an Ghléas USB dhá fheidhm laga crúca ar fáil ar féidir leat a athshainiú i d’fheidhmchlár. Is é an cuspóir atá leo ná fógra a thabhairt nuair a tharlaíonn imeachtaí bus agus cumraíochta.
Tábla – Feidhmeanna Hook Imeachta USB

Imeacht

Cur síos

Bus

Glaoite nuair a tharlaíonn teagmhas USB Bus

Cumraíocht Glaoite nuair a tharlaíonn teagmhas Cumraíochta USB

Síniú Feidhme
void sl_usbd_on_bus_event(sl_usbd_bus_event_t imeacht); void sl_usbd_on_config_event(sl_usbd_config_event_t imeacht, uint8_t cumraíocht_nbr);

ExampFeidhmeanna Hook Imeachta le –

neamhní sl_usbd_on_bus_event(sl_usbd_bus_event_t imeacht) { lasc (imeacht) { cás SL_USBD_EVENT_BUS_CONNECT:}
// ar a dtugtar nuair a chuirtear cábla USB isteach i rialtóir óstach briseadh;
cás SL_USBD_EVENT_BUS_DISCONNECT: // ar a dtugtar nuair a bhaintear cábla USB ó rialtóir óstach briseadh;
cás SL_USBD_EVENT_BUS_RESET: // ar a dtugtar nuair a sheolann an t-óstach ordú athshocraithe sos;
cás SL_USBD_EVENT_BUS_SUSPEND: // ar a dtugtar nuair a sheolann an t-óstach ordú fionraí sos;
cás SL_USBD_EVENT_BUS_RESUME: // ar a dtugtar nuair a sheolann an t-óstach ordú múscailte sos;
réamhshocrú: sos; } }
neamhní sl_usbd_on_config_event(sl_usbd_config_event_t imeacht, uint8_t config_nbr) { lasc (imeacht) { cás SL_USBD_EVENT_CONFIG_SET:}
// ar a dtugtar nuair a shocraíonn an t-óstach sos cumraíochta;
cás SL_USBD_EVENT_CONFIG_UNSET: // glaoitear air nuair a bhíonn cumraíocht neamhshocraithe briseadh;
réamhshocrú: sos; } }

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

13/174

Tharview

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

14/174

Tharview
Tharview

Ranganna Gléasanna USB

Tá roinnt tréithe coitianta ag na ranganna USB atá ar fáil i nGléas USB Silicon Labs. Mínítear na tréithe seo agus a n-idirghníomhaíochtaí leis an gciseal croí sa chuid seo.
Chun tuilleadh eolais a fháil faoi rang ar leith, féach ar an méid seo a leanas:
Aicme CDC ACM Aicme HID Aicme MSC SCSI Aicme Díoltóra
Maidir le Cásanna Ranga
Cuireann na ranganna USB atá ar fáil i bhFeiste USB coincheap na n-eispéiris ranga i bhfeidhm. Léiríonn eispéiris ranga feidhm amháin laistigh de fheiste. Is féidir cur síos a dhéanamh ar an bhfeidhm le comhéadan amháin nó le grúpa comhéadan agus baineann sí le rang ar leith.
Tá roinnt cumraíochtaí agus feidhmeanna i bpáirt ag gach cur i bhfeidhm ranga USB, bunaithe ar choincheap an tsamhail ranga. Cuirtear na cumraíochtaí agus na feidhmeanna coitianta i láthair sa tábla thíos. Sa teideal colún 'Tairiseacha nó Feidhm', is féidir an áitchoinneálaí XXXX a athsholáthar le hainm na ranga: CDC, HID, MSC, CDC_ACM nó VENDOR (Díoltóir d'ainmneacha feidhme).
Tábla – Tairiseacha agus Feidhmeanna a Bhaineann le Coincheap na nIl-Aicme

Tairiseach nó Feidhm
SL_USBD_XXXX_CL CAIDREACHAS TANCÉAL
SL_USBD_XXXX_CUMRAÍOCHT_CAIN.
sl_usb d _XXXX_cruthaigh _láithreach ()
sl_usbd_XXXX_add_to_conf Igúraíocht()

Cur síos
Cumraíonn sé an líon uasta cásanna ranga.
Cumraíonn sé an líon uasta cumraíochtaí. Le linn thúsú an ranga, cuirfear cás ranga cruthaithe le cumraíocht amháin nó níos mó. Cruthaíonn sé cás ranga nua.
Cuireann sé seo cás ranga atá ann cheana leis an gcumraíocht gléis shonraithe.

Maidir le cur i bhfeidhm cóid, dearbhóidh an rang athróg dhomhanda áitiúil ina bhfuil struchtúr rialaithe ranga. Tá an struchtúr rialaithe ranga seo bainteach le haon chás ranga amháin agus beidh faisnéis shonrach ann chun an cás ranga a bhainistiú.
Taispeánann na figiúirí seo a leanas roinnt cásanna. Tá cód samplach i ngach figiúr.ampa fhreagraíonn don chás-staidéir.
Fíor – Il-Chomhthéacsanna Ranga – Léiríonn Gléas FS (1 Chumraíocht le 1 Chomhéadan) gléas USB tipiciúil. Is gléas Lánluais (FS) é agus tá cumraíocht aonair inti. Déantar cur síos ar fheidhm na feiste le comhéadan amháin atá comhdhéanta de phéire críochphointí le haghaidh cumarsáide sonraí. Cruthaítear cás ranga amháin agus ligfidh sé duit an comhéadan iomlán a bhainistiú lena chríochphointe gaolmhar.
Fíor – Il-Chomhthéacsanna Ranga – Cumraíocht Gléas FS 1 le 1 Chomhéadan)

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

15/174

Tharview

Taispeántar an cód a fhreagraíonn do Fíor – Il-Aicme-Chásanna – Gléas FS (1 Chumraíocht le 1 Chomhéadan) san eis.ample thíos.
Example – Il-Chomhthéacsanna Ranga – Cumraíocht Gléas FS 1 le 1 Chomhéadan)

sl_status_t stádas; uint8_t rang_0;

void app_usbd_XXXX_enable(uint8_t class_nbr) { /* Láimhseáil imeacht cumasaithe ranga. */ }

void app_usbd_XXXX_disable(uint8_t class_nbr) { /* Láimhseáil imeacht díchumasaithe Aicme. */ }

sl_usbd_XXXX_callbacks_t class_callbacks = {

(1)

.cumasaigh = app_usbd_XXXX_cumasaigh,

.díchumasaigh = app_usbd_XXXX_díchumasaigh

};

stádas = sl_usbd_XXXX_init();

(2)

má tá (stádas ! SL_STATUS_OK) {

/* $$$$ Déileáil leis an earráid. */

}

stádas = sl_usbd_XXXX_create_instance(&class_callbacks,

(3)

&aicme_0);

má tá (stádas ! SL_STATUS_OK) {

/* $$$$ Déileáil leis an earráid. */

}

stádas = sl_usbd_XXXX_add_to_configuration(aicme_0, cumraíocht_0);

(4)

má tá (stádas ! SL_STATUS_OK) {

/* $$$$ Déileáil leis an earráid. */

}

(1) Cuireann gach rang sraith feidhmeanna athghlaoite ar fáil le haghaidh imeachtaí ceangail/dícheangail gléasanna agus le haghaidh imeachtaí sonracha ranga. Cuirtear an réad struchtúir athghlaoite ar aghaidh mar argóint agus an cás ranga á chruthú le sl_usbd_XXXX_create_instance()
feidhm.
(1) Tosaigh an rang. Déanfar na hathróga inmheánacha, na struchtúir agus na calafoirt ranga go léir a thosú. Tabhair faoi deara go bhféadfadh argóintí eile a bheith ag an bhfeidhm Init() i roinnt ranganna.

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

16/174

Tharview
(2) Cruthaigh an cás ranga, arb é class_0 é. Leithdháileann an fheidhm sl_usbd_XXXX_create_instance() struchtúr rialaithe ranga a bhaineann le class_0. Ag brath ar an rang, féadfaidh paraiméadair bhreise a bheith ag sl_usbd_XXXX_create_instance() seachas uimhir an ranga a léiríonn faisnéis shonrach don rang atá stóráilte sa struchtúr rialaithe ranga. aaa (3) Cuir an cás ranga, class_0, leis an uimhir chumraíochta sonraithe, config_0. Cruthóidh sl_usbd_XXXX_add_to_configuration() an comhéadan 0 agus a chríochphointí IN agus OUT gaolmhara. Mar thoradh air sin, cuimsíonn an cás ranga an comhéadan 0 agus a chríochphointí. Úsáidfidh aon chumarsáid a dhéantar ar an gcomhéadan 0 uimhir an chás ranga, class_0. Fíor – Il-Chásanna Ranga – Léiríonn Gléas FS (2 Chumraíocht agus Il-Chomhéadain) sampla níos casta.ampm.sh. Tá gléas lánluais comhdhéanta de dhá chumraíocht. Tá dhá fheidhm ag an ngléas a bhaineann leis an rang céanna, ach déantar cur síos ar gach feidhm le dhá chomhéadan agus tá péire críochphointí déthreocha acu. Sa sampla seoampi.e., cruthaítear dhá chás ranga. Tá gach cás ranga bainteach le grúpa comhéadan i gcodarsnacht le Fíor – Ilchásanna Ranga – Gléas FS (1 Chumraíocht le 1 Chomhéadan) agus Fíor – Ilchásanna Ranga – Gléas FS (2 Chumraíocht agus Ilchomhéadain) áit a raibh an cás ranga bainteach le comhéadan aonair.
Fíor – Il-Chomhéadain Ranga – Cumraíochtaí Gléas FS 2 agus Il-Chomhéadain)

Taispeántar an cód a fhreagraíonn do Fíor – Il-Aicme-Chásanna – Gléas FS (2 Chumraíocht agus Il-Chomhéadain) san eis.ampthíos. Fágtar an láimhseáil earráide ar lár ar mhaithe le soiléireacht.
Example – Il-Chomhéadain Ranga – Cumraíochtaí Gléas FS 2 agus Il-Chomhéadain)

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

17/174

Tharview

sl_status_t stádas; uint8_t rang_0; uint8_t rang_1;
stádas = sl_usbd_XXXX_init();
stádas = sl_usbd_XXXX_create_instance(&aicme_0); stádas = sl_usbd_XXXX_create_instance(&aicme_1);
stádas = sl_usbd_XXXX_add_to_configuration(aicme_0, cfg_0); stádas = sl_usbd_XXXX_add_to_configuration(aicme_1, cfg_0);
stádas = sl_usbd_XXXX_add_to_configuration(aicme_0, cfg_1); stádas = sl_usbd_XXXX_add_to_configuration(aicme_1, cfg_1);

(1)
(2) (3)
(4) (5)
(6) (6)

(1) Tosaigh an rang. Déanfar aon athróga inmheánacha, struchtúir agus calafoirt ranga a thosú.
(2) Cruthaigh an cás ranga, class_0. Leithdháileann an fheidhm sl_usbd_XXXX_create_instance() struchtúr rialaithe ranga a bhaineann le class_0.
(3) Cruthaigh an cás ranga, class_1. Leithdháileann an fheidhm sl_usbd_XXXX_create_instance() struchtúr rialaithe ranga eile a bhaineann le class_1.
(4) Cuir an sampla ranga, class_0, leis an chumraíocht, cfg_0. Cruthóidh sl_usbd_XXXX_add_to_configuration() comhéadan 0, comhéadan 1, comhéadain mhalartacha, agus na críochphointí ISTEACH agus OUIT gaolmhara. Úsáidfear uimhir an sampla ranga, class_0, le haghaidh aon chumarsáid sonraí ar chomhéadan 0 nó comhéadan 1.
(5) Cuir an sampla ranga, class_1, leis an chumraíocht, cfg_0. Cruthóidh sl_usbd_XXXX_add_to_configuration() comhéadan 2, comhéadan 3 agus a gcríochphointí IN agus OUT gaolmhara. Úsáidfear uimhir an sampla ranga, class_1, le haghaidh aon chumarsáid sonraí ar chomhéadan 2 nó comhéadan 3.
(6) Cuir na samplaí ranga céanna, class_0 agus class_1, leis an chumraíocht eile, cfg_1.
Sainmhíníonn gach rang struchtúr den chineál sl_usbd_XXXX_callbacks_t. Is é an cuspóir atá leis ná sraith feidhmeanna glaonna ar ais a thabhairt do gach rang le glaoch orthu nuair a tharlaíonn teagmhas. Tá dhá fheidhm glaonna ar ais i láthair i ngach rang. Cuirtear i láthair iad sa tábla thíos.
Tábla – Feidhmeanna Coitianta Glaonna Ar Ais Ranga

Réimsí Cur Síos .enable Glaoitear nuair a bhíonn an cás ranga USB cumasaithe go rathúil. .disable Glaoitear nuair a bhíonn an cás ranga USB díchumasaithe.

Síniú Feidhme void app_usbd_XXXX_enable(uint8_t class_nbr); void app_usbd_XXXX_disable(uint8_t class_nbr);

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

18/174

Tharview
Tharview
Gléas USB CDC Aicme ACM
Rang Bonn CDC Gléas USB Tharview Riachtanais Acmhainní Ranga CDC ACM Gléas USB ó Chroí-Fho-aicme CDC ACM Gléas USB Tharview Cumraíocht Ranga CDC ACM Gléas USB Treoir Chlársceidealaithe Ranga CDC ACM Gléas USB
Déantar cur síos sa chuid seo ar an rang Aicme Gléas Cumarsáide (CDC) agus an fho-aicme CDC gaolmhar a dtacaítear léi ó chruach Gléasanna USB Silicon Labs. Tacaíonn Gléas USB Silicon Labs leis an bhfo-aicme Múnla Rialaithe Abstract (ACM) faoi láthair, a úsáidtear go coitianta le haghaidh aithrise sraitheach.
Áirítear leis an CDC gléasanna teileachumarsáide agus líonraithe éagsúla. Cuimsíonn gléasanna teileachumarsáide móideimí analógacha, teileafóin analógacha agus digiteacha, oiriúnaitheoirí críochfoirt ISDN, etc. Mar shamplaampI measc na ngléasanna líonraithe tá móideimí ADSL agus cábla, oiriúnaitheoirí Eitirnéad, agus moil. Sainmhíníonn an CDC creat chun caighdeáin seirbhísí cumarsáide atá ann cheana a chuimsiú, amhail V.250 (le haghaidh móideimí thar líonra teileafóin) agus Eitirnéad (le haghaidh gléasanna líonra áitiúil), ag baint úsáide as nasc USB. Tá gléas cumarsáide i gceannas ar bhainistiú gléasanna, bainistíocht glaonna nuair is gá, agus tarchur sonraí.
Sainmhíníonn an CDC seacht bpríomhghrúpa gléasanna. Baineann gach grúpa le samhail chumarsáide, a d'fhéadfadh roinnt fo-aicmí a bheith ann. Tá a dhoiciméad sonraíochta féin ag gach grúpa gléasanna sa bhreis ar bhunrang an CDC. Is iad na seacht ngrúpa:
Líonra Teileafóin Phoiblí Lasctha (PSTN), gléasanna lena n-áirítear móideimí gutha-bhanda, teileafóin, agus gléasanna aithrise sraitheacha. Gléasanna Líonra Digiteach Seirbhísí Comhtháite (ISDN), lena n-áirítear oiriúnaitheoirí críochfoirt agus teileafóin. Gléasanna Múnla Rialaithe Eitirnéad (ECM), lena n-áirítear gléasanna a thacaíonn leis an teaghlach IEEE 802 (m.sh.: móideimí cábla agus ADSL, oiriúnaitheoirí WiFi). Gléasanna Mód Aistrithe Asinchronach (ATM), lena n-áirítear móideimí ADSL agus gléasanna eile atá ceangailte le líonraí ATM (stáisiúin oibre, ródairí, lasca LAN). Gléasanna Cumarsáide Soghluaiste Gan Sreang (WMC), lena n-áirítear gléasanna láimhe cumarsáide ilfheidhmeacha a úsáidtear chun cumarsáid gutha agus sonraí a bhainistiú. Gléasanna Múnla Aithrise Eitirnéad (EEM) a mhalartaíonn sonraí frámaithe Eitirnéad. Gléasanna Múnla Rialaithe Líonra (NCM), lena n-áirítear gléasanna líonra ardluais (móideimí Rochtana Pacáiste Ardluais, Trealamh Críochfoirt Líne)
Comhlíonann an CDC agus cur i bhfeidhm an fho-aicme ghaolmhair na sonraíochtaí seo a leanas:
Bus Sraitheach Uilíoch, Sainmhínithe Aicme do Ghléasanna Cumarsáide, Athbhreithniú 1.2, 3 Samhain 2010. Bus Sraitheach Uilíoch, Cumarsáid, Fo-aicme do Ghléasanna PSTN, Athbhreithniú 1.2, 9 Feabhra 2007.
Rang Bonn CDC Gléas USB Tharview
Tá gléas CDC comhdhéanta de na comhéadain seo a leanas chun cumas cumarsáide a chur i bhfeidhm:
Tá Comhéadan Ranga Cumarsáide (CCI) freagrach as bainistíocht na ngléasanna agus, más mian leat, bainistíocht na nglaonna.
Cumasaíonn bainistíocht gléasanna cumraíocht agus rialú ginearálta na gléas agus fógra a thabhairt don óstach faoi imeachtaí. Cumasaíonn bainistíocht glaonna bunú agus foirceannadh glaonna. Féadfar bainistíocht glaonna a ilphléacsáil trí DCI. Tá CCI éigeantach do gach gléas CDC. Sainaithníonn sé feidhm an CDC tríd an tsamhail chumarsáide a shonrú a dtacaítear léi ag an ngléas CDC. Is féidir leis an gcomhéadan/na comhéadain i ndiaidh an CCI a bheith ina chomhéadan den aicme USB sainithe ar bith, amhail Fuaim nó comhéadan atá sainiúil don díoltóir. Léirítear an comhéadan atá sainiúil don díoltóir go sonrach le DCI.
Tá Comhéadan Aicme Sonraí (DCI) freagrach as tarchur sonraí. Ní leanann sonraí a tharchuirtear agus/nó a fhaightear treoir shonrach
formáid. D’fhéadfadh sonraí a bheith ina sonraí amha ó líne chumarsáide, sonraí a leanann formáid dhílseánaigh, etc. Is féidir na DCIanna uile a leanann an CCI a fheiceáil mar chomhéadain fho-ordaithe.
Ní mór go mbeadh CCI amháin ar a laghad agus nialas DCI nó níos mó ag gléas CDC. Soláthraíonn CCI amháin agus aon DCI fo-ordaithe le chéile gné don óstach. Tugtar feidhm ar an gcumas seo freisin. I ngléas ilchodach CDC, d'fhéadfá roinnt a bheith agat.

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

19/174

Tharview
feidhmeanna. Dá bhrí sin, bheadh ​​an gléas comhdhéanta de roinnt tacair de CCI agus DCI(anna) mar a thaispeántar i bhFíor – Gléas Ilchodach CDC.
Fíor – Gléas Ilchodach CDC

Is dócha go n-úsáidfidh gléas CDC an teaglaim seo a leanas de chríochphointí:
Péire críochphointí rialaithe ISTEACH agus AMACH ar a dtugtar an críochphointe réamhshocraithe. Críochphointe roghnach ISTEACH nó idirbhriste. Péire críochphointí ISTEACH agus AMACH bulcacha nó isecronacha. Tabhair faoi deara nach dtacaíonn cruach gléasanna USB Silicon Labs le críochphointí isecronacha faoi láthair.
Taispeánann an tábla thíos úsáid na gcríochphointí éagsúla agus cén comhéadan den CDC a n-úsáidtear iad leis.
Tábla – Úsáid Chríochphointe CDC

Críochphointe
Rialú IN
Rialú AMACH
Idirbhriseadh nó mórchóir IN Bulc nó isocronous IN Bulc nó isocronous
AMACH

Treo
Gléas chuig óstach
Óstach go gléas
Gléas chuig óstach
Gléas chuig óstach
Óstach go gléas

Úsáid Chomhéadain

CCI

Iarratais chaighdeánacha le haghaidh áirimh, iarratais ar leith don rang, gléas

bainistíocht, agus bainistíocht glaonna más mian leat.

CCI

Iarratais chaighdeánacha le haghaidh áirimh, iarratais ar leith don rang, gléas

bainistíocht, agus bainistíocht glaonna más mian leat.

CCI

Fógra imeachtaí, amhail braiteadh fáinne, stádas líne sraitheach, stádas líonra.

DCI

Cumarsáid sonraí amh nó formáidithe.

DCI

Cumarsáid sonraí amh nó formáidithe.

Úsáideann formhór na ngléasanna cumarsáide críochphointe cur isteach chun fógra a thabhairt don óstach faoi imeachtaí. Níor cheart críochphointí iseacrónacha a úsáid le haghaidh tarchur sonraí nuair a bhraitheann prótacal dílseánaigh ar aththarchur sonraí i gcás earráidí prótacail USB. Is féidir le cumarsáid iseacrónach sonraí a chailleadh go bunúsach ós rud é nach bhfuil aon mheicníochtaí athiarrachta aici.
Cuimsíonn na seacht bpríomhmhúnla cumarsáide roinnt fo-aicmí. Déanann fo-aicme cur síos ar an gcaoi ar cheart don fheiste an CCI a úsáid chun bainistíocht na bhfeistí agus bainistíocht na nglaonna a láimhseáil. Taispeánann an tábla thíos na fo-aicmí féideartha go léir agus an tsamhail chumarsáide lena mbaineann siad.
Tábla – Fo-aicmí CDC

Fo-aicme
Samhail Rialaithe Líne Díreach Samhail Rialaithe Teibí

Múnla Cumarsáide
PSTN
PSTN

Examplíon na bhFeistí a Úsáideann an Fo-aicme seo
Gléasanna móideim atá faoi rialú díreach ag an óstach USB
Gléasanna aithrise sraitheacha, gléasanna móideim atá rialaithe trí shraith orduithe sraitheacha

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

20/174

Tharview

Fo-aicme

Múnla Cumarsáide

Examplíon na bhFeistí a Úsáideann an Fo-aicme seo

Múnla Rialaithe Teileafóin

PSTN

Samhail ISDN Rialaithe Ilchainéil

Samhail Rialaithe CAPI ISDN

Múnla Rialaithe ECM Líonraithe Eitirnéad

Líonrú ATM

ATM

Múnla Rialaithe

Múnla Rialaithe Láimhe Gan Sreang

WMC

Bainistíocht Gléasanna WMC

Múnla Líne Díreach Soghluaiste

WMC

OBEX

WMC

Samhail EEM Aithrise Ethernet

Múnla Rialaithe Líonra

NCM

Gléasanna teileafónaíochta gutha
Oiriúnaitheoirí críochfoirt ráta bunúsach, oiriúnaitheoirí críochfoirt ráta príomhúil, teileafóin
Oiriúnaitheoirí críochfoirt ráta bhunúsach, oiriúnaitheoirí críochfoirt ráta príomhúil, teileafóin móideimí cábla DOC-SIS, móideimí ADSL a thacaíonn le haithris PPPoE, oiriúnaitheoirí Wi-Fi (teaghlach IEEE 802.11), oiriúnaitheoirí IEEE 802.3 móideimí ADSL
Trealamh críochfoirt soghluaiste a nascann le gléasanna gan sreang
Trealamh críochfoirt soghluaiste ag nascadh le gléasanna gan sreang Trealamh críochfoirt soghluaiste ag nascadh le gléasanna gan sreang
Trealamh críochfoirt soghluaiste a nascann le gléasanna gan sreang Gléasanna a úsáideann frámaí Ethernet mar an chéad chiseal iompair eile. Ní bheartaítear é le haghaidh gléasanna ródaithe agus nascachta Idirlín Oiriúnaitheoirí IEEE 802.3 a iompraíonn bandaleithead sonraí ardluais ar líonra

Riachtanais Acmhainní Ranga CDC ACM Gléas USB ó Core

Gach uair a chuireann tú cás den rang CDC ACM le cumraíocht USB trí ghlao ar an bhfeidhm sl_usbd_cdc_acm_add_to_configuration(), leithdháilfear na hacmhainní seo a leanas ón gcroílár.

Acmhainn
Comhéadain Comhéadain mhalartacha Críochphointí Grúpaí comhéadain

Cainníocht
2 2 3 1

Tabhair faoi deara go bhfuil na huimhreacha sin de réir na cumraíochta. Agus luachanna cumraíochta SL_USBD_INTERFACE_QUANTITY, SL_USBD_ALT_INTERFACE_QUANTITY, SL_USBD_INTERFACE_GROUP_QUANTITY agus SL_USBD_DESCRIPTOR_QUANTITY á mbunú agat, ná déan dearmad a chur san áireamh cé mhéad cumraíocht a chuirfear leis an rang. Maidir leis an luach cumraíochta SL_USBD_OPEN_ENDPOINTS_QUANTITY, ós rud é nach n-osclaítear críochphointí ach amháin nuair a shocraíonn an t-óstach cumraíocht, ní gá duit ach líon na gcríochphointí atá riachtanach le haghaidh sampla ranga a chur san áireamh.
Fo-aicme ACM CDC Gléas USB Tharview

Tá an rang bonn CDC comhdhéanta de Chomhéadan Ranga Cumarsáide (CCI) agus Comhéadan Ranga Sonraí (DCI), a phléitear go mion i Rang Bonn CDC Gléas USB Tharview Pléann an chuid seo CCI de chineál ACM. Tá críochphointe réamhshocraithe ann don eilimint bhainistíochta agus críochphointe cur isteach don eilimint fógra. Úsáidtear péire críochphointí mórchóir chun sonraí neamhshonraithe a iompar thar an DCI.
Úsáideann dhá chineál gléasanna cumarsáide an fho-aicme ACM:
Gléasanna a thacaíonn le horduithe AT (mar shampla, móideimí gutha). Gléasanna aithrise sraitheacha ar a dtugtar gléasanna calafoirt COM fíorúla freisin.
Tá roinnt iarratas sonracha fo-aicme ann don fho-aicme ACM. Ligeann siad duit an gléas a rialú agus a chumrú. Is féidir an liosta iomlán agus cur síos ar na hiarratais ACM go léir a fháil sa tsonraíocht.

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

21/174

Tharview Fo-aicme do Ghléasanna PSTN, athbhreithniú 1.2, 9 Feabhra, 2007=, alt 6.2.2.
Ón liosta seo, tacaíonn fo-aicme Silicon Labs9 ACM leis na nithe seo a leanas:
Tábla – Iarratais ACM arna dTacaíocht ag Silicon Labs

Cur Síos ar Iarratas ar Fho-aicme

SocraighGnéComhroinnteFaighGnéComhroinnteGné GlanGnéComhroinnte

Seolann an t-óstach an iarratas seo chun socruithe gné chumarsáide ar leith a rialú. Ní úsáidtear é le haghaidh aithrise sraitheach.
Seolann an t-óstach an iarratas seo chun na socruithe reatha a fháil le haghaidh gné chumarsáide ar leith. Ní úsáidtear é le haghaidh aithrise sraitheach.
Seolann an t-óstach an iarratas seo chun na socruithe a ghlanadh le haghaidh gné chumarsáide ar leith. Ní úsáidtear é le haghaidh aithrise sraitheach.

SocraighLíneCódú

Seolann an t-óstach an t-iarratas seo chun socruithe an fheiste ACM a chumrú: ráta baud, líon na ngiotán stad, cineál comhionannais agus líon na ngiotán sonraí. I gcás aithrise sraitheach, seolann críochfort sraitheach an t-iarratas seo go huathoibríoch gach uair a chumraíonn tú na socruithe sraitheacha le haghaidh port COM fíorúil oscailte.

GetLineCoding

Seolann an t-óstach an t-iarratas seo chun na socruithe reatha ACM (ráta baud, giotáin stad, paireacht, giotáin sonraí) a fháil. I gcás aithrise sraitheach, seolann críochfoirt sraitheacha an t-iarratas seo go huathoibríoch le linn oscailt an chalafoirt COM fhíorúil.

SetControlLineState Seolann an t-óstach an t-iarratas seo chun an t-iompróir a rialú le haghaidh móideim leath-dhúbailte agus chun a léiriú an bhfuil an Trealamh Críochfoirt Sonraí (DTE) réidh nó nach bhfuil. I gcás an aithrise sraitheach, is críochfort sraitheach é an DTE. I gcás aithrise sraitheach, ceadaíonn críochfoirt sraitheacha áirithe duit an t-iarratas seo a sheoladh leis na rialuithe socraithe.

SocraighBriseadh

Seolann an t-óstach an t-iarratas seo chun briseadh stíl RS-232 a ghiniúint. I gcás aithrise sraitheach, ceadaíonn críochfoirt sraitheacha áirithe duit an t-iarratas seo a sheoladh.

Úsáideann fo-aicme ACM Silicon Labs9 an críochphointe IN chun fógra a thabhairt don óstach faoin staid reatha den líne sraitheach.
Is giotáipéar é staid na líne a chuireann an t-óstach ar an eolas faoi:

Sonraí curtha i leataobh mar gheall ar ró-ualach Earráid chomhionannais Earráid frámaithe Staid an bhrath comhartha fáinne Staid an mheicníocht bhrath briste Staid an iompróra tarchuir Staid bhrath iompróra an ghlacadóra

Comhlíonann cur i bhfeidhm fho-aicme Silicon Labs9 ACM an tsonraíocht seo a leanas:
Bus Sraitheach Uilíoch, Cumarsáid, Fo-aicme do Ghléasanna PSTN, athbhreithniú 1.2, 9 Feabhra, 2007.
Cumraíocht Ranga CDC ACM Gléas USB

Pléann an chuid seo conas an Rang CDC ACM (Rang Gléas Cumarsáide, Samhail Rialaithe Teibí) a chumrú. Tá dhá ghrúpa paraiméadair chumraíochta ann:
Cumraíochtaí Sonracha d'Fheidhmchláir Gléas USB CDC ACM Cumraíochtaí Aicme ACM Gléas USB
Cumraíochtaí Sonracha Feidhmchláir Gléas USB CDC ACM Rang

Fo-aicme ACM Aicme Bonn CDC
Rang Bonn CDC

Ar dtús, chun modúl ranga CDC gléas USB Silicon Labs a úsáid, beidh ort cumraíocht am tiomsaithe an CDC #define-s a choigeartú de réir riachtanais d'fheidhmchláir. Tá siad athghrúpáilte taobh istigh den cheanntásc sl_usbd_core_config.h. file faoin alt CDC. Is é an cuspóir atá leo ná an modúl gléas USB a chur ar an eolas faoi líon na réad USB CDC atá le leithdháileadh.

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

22/174

Tharview

Déantar cur síos sa tábla thíos ar gach réimse cumraíochta atá ar fáil sa struchtúr cumraíochta seo.
Tábla – Sainmhíníonn Cumraíocht CDC Gléas USB

Ainm Cumraíochta
SL_USBD_CDC_CL MAR S_INSTANCE_QUANT ITY
SL_USBD_CDC_CONF IGURATION_QUANTI
TY
SL_USBD_CDC_DATA _INTERFACE_QUANTI
TY

Cur síos
Líon na gcásanna ranga a leithdháilfidh tú trí ghlao chuig an bhfeidhm
sl_usbd_cdc_acm_create_instance().
Líon na gcumraíochtaí. Is féidir samplaí ranga ACM a chur le cumraíocht aaaa amháin nó níos mó tríd an sl_usbd_cdc_acm_add_to_configuration().
Líon iomlán na gcomhéadan sonraí (DCI) do na feidhmeanna CDC uile. Cuirfidh gach feidhm CDC ACM aaaaaaaa leis an bhfeidhm sl_usbd_cdc_acm_create_instance() comhéadan sonraí leis.

Luach Réamhshocraithe
2
1
2

Fo-aicme ACM
Tá cumraíocht amháin ag am tiomsaithe ag an bhfo-aicme ACM a thaispeántar sa tábla thíos.
Tábla – Sainmhíniú ar Chumraíocht CDC ACM Gléas USB

Ainm Cumraíochta
SL_USBD_CDC_ACM_SUBCL ASS_I NSTANCE_QUANTITY

Cur síos
Cumraíonn sé líon na gcásanna fo-aicme a leithdháilfidh tú trí ghlao chuig an
feidhm sl_usbd_cdc_acm_create_instance().

Luach Réamhshocraithe
2

Cumraíochtaí Aicme CDC ACM Gléas USB

Sainmhíníonn an chuid seo na cumraíochtaí a bhaineann le samplaí ranga sraitheacha CDC ACM. Cruthú sampla ranga, staid líne, eatramh, cumais bainistíochta glaonna p_acm_callbacks
Cruthú Cás Ranga

Chun cás ranga sraitheach CDC ACM a chruthú, glaoigh ar an bhfeidhm T a sl_usbd_cdc_acm_create_instance(). Iarrann an fheidhm seo trí argóint chumraíochta, mar a thuairiscítear anseo.

eatramh_staid_líne
Seo an t-eatramh (i milleasoicindí) a thuairisceoidh d'instance ranga sraitheach CDC ACM na fógraí staide líne don óstach T aa. Ní mór don luach seo a bheith ina chumhacht dhá (1, 2, 4, 8, 16, srl.).

cumais_bhainistíochta_glaonna
Léarscáil giotán Cumais Bainistíochta Glaonna. Seo a leanas luachanna féideartha an léarscáil giotán:

Luach (giotán)
SL_USBD_ACM_SERIAL_CALL_MGMT_DEV
SL_USBD_ACM_SERIAL_CALL_MGMT_DATA_CCI _DCI

Cur síos
Déanann an gléas bainistíocht glaonna féin. Is féidir leis an ngléas faisnéis bainistíochta glaonna a sheoladh/a fháil thar chomhéadan Rang Sonraí.

aisghlao_p_acm

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

23/174

Tharview

Is pointeoir chuig struchtúr de chineál sl_usbd_cdc_acm_callbacks é aa M aa p_acm_callbacks. Is é an cuspóir atá leis tacar feidhmeanna glaonna ar ais a thabhairt don CDC AC Cl ss le glaoch orthu nuair a tharlaíonn teagmhas CDC ACM. Ní bhíonn gach glao ar ais éigeantach agus is féidir pointeoir nialasach (NULL) a chur isteach san athróg struchtúir glaonna ar ais nuair nach bhfuil gá leis an nglao ar ais. Déanann an tábla thíos cur síos ar gach réimse cumraíochta atá ar fáil sa struchtúr cumraíochta seo.
Tábla – Struchtúr Cumraíochta sl_usbd_cdc_acm _callbacks_t

Réimsí

Cur síos

cumasaigh

Glaoite nuair a bhíonn an cás ranga USB cumasaithe

go rathúil.

.díchumasaigh

Glaotar air nuair a bhíonn an rang USB díchumasaithe.

.line_control_changed Glaotar air nuair a fhaightear athrú rialaithe líne.

líne_códú_athraithe Glaoitear air nuair a fhaightear athrú ar chódú líne.

Síniú Feidhme
neamhní app_usbd_cdc_acm_enable(uint8_t subclass_nbr);
neamhní app_usbd_cdc_acm_disable(uint8_t subclass_nbr);
void app_usbd_cdc_acm_line_control_changed(uint8_t fo-aicme_nbr, uint8_t imeacht, uint8_t imeacht_chngd); bool app_usbd_cdc_acm_line_coding_changed(uint8_t fo-aicme_nbr, fo-aicme_nbr, sl_usbd_cdc_acm_line_coding_t
*códú_líne_p

Féach an chuid Clárú Glaonna ar Ais Fógra Imeachta le haghaidh feidhmeanna glao ar ais m.sh.ample.
Treoir Chlársceidealaithe Aicme CDC ACM Gléas USB

Mínítear sa chuid seo conas an rang Múnla Rialaithe Teibí CDC a úsáid. Gléas USB a Thosú Rang CDC ACM Cás Ranga CDC ACM Gléas USB a Chur le do Ghléas Cumarsáid a Dhéanamh ag Úsáid an Ranga CDC ACM
Ag Tosú Rang CDC ACM an Ghléas USB

Chun feidhmiúlacht ranga CDC ACM a chur le do ghléas, ní mór duit an rang bonn CDC agus an fho-rang ACM a thosú ar dtús trí na feidhmeanna sl_usbd_cdc_init() agus sl_usbd_cdc_acm_init() a líonadh. Taispeánann an sampla thíos conas sl_usbd_cdc_init() agus sl_usbd_cdc_acm_init() a chomhlánú ag baint úsáide as argóintí réamhshocraithe.

Example – Túsú Ranga CDC ACM

sl_status_t stádas;
stádas = sl_usbd_cdc_init(); má tá (stádas ! SL_STATUS_OK) { /* Tharla earráid. Ba chóir láimhseáil earráide a chur leis anseo. */
}
stádas = sl_usbd_cdc_acm_init(); má tá (stádas ! SL_STATUS_OK) { /* Tharla earráid. Ba chóir láimhseáil earráide a chur leis anseo. */
}
Ag cur Aicme CDC ACM de Ghléas USB le do Ghléas
Chun feidhmiúlacht ranga CDC ACM a chur le do ghléas, ní mór duit sampla a chruthú, agus ansin é a chur le cumraíocht(aí) do ghléis.
Ag cruthú Cás Ranga CDC ACM

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

24/174

Tharview
Ag cur an Aicme CDC ACM le Cumraíocht(aí) do Ghléis Glaonna ar Ais Fógra Imeachta a Chlárú
Ag cruthú Cás Ranga CDC ACM
Cruthaigh córas CDC AC tríd an fheidhm sl_usbd_cdc_acm_create_instance() a ghlaoch. Taispeánann an sampla thíos conas córas CDC AC a chruthú trí sl_usbd_cdc_acm_create_instance().
Example – Feidhm CDC ACM a chruthú trí sl_usbd_cdc_acm_create_instance()

uint8_t fo-aicme_uimhir; sl_status_t stádas;
stádas = 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);
má tá (stádas ! SL_STATUS_OK) { /* Tharla earráid. Ba chóir láimhseáil earráide a chur leis anseo. */
}
Ag cur an Aicme CDC ACM le Cumraíocht(aí) do Ghléise
Tar éis duit cás ranga CDC ACM a chruthú, is féidir leat é a chur le cumraíocht tríd an bhfeidhm a ghlaoch
sl_usbd_cdc_acm_add_to_configuration().
Taispeánann an sampla thíos conas sl_usbd_cdc_acm_add_to_configuration() a úsáid.
Example – Glaoigh ar USBD ACM sl_usbd_cdc_acm_add_to_configuration()

sl_status_t stádas;

stádas = sl_usbd_cdc_acm_add_to_configuration(subclass_nbr,

(1)

cumraíocht_nbr_fs);

(2)

má tá (stádas ! SL_STATUS_OK) {

/* Tharla earráid. Ba chóir láimhseáil earráide a chur leis anseo. */

}

aaa (1) Uimhir Cl ss le cur leis an chumraíocht a chuirtear ar ais ag sl_usbd_cdc_acm_create_instance(). (2) Uimhir chumraíochta (á cur le cumraíocht Lánluais anseo).
Glaonna Ar Ais Fógra Imeachta a Chlárú
Is féidir leis an rang Sraitheach CDC ACM fógra a thabhairt do d’fheidhmchlár faoi aon athruithe i rialú líne nó i gcódú trí fheidhmeanna glaonna ar ais fógra. Is féidir struchtúr feidhmeanna glaonna ar ais a chur ar aghaidh mar argóint le linn chruthú an tsamhail ACM. Tabhair faoi deara go bhfuil na glaonna ar ais sin roghnach. M.sh.ampLéiríonn Clárú Athghlaoite CDC ACM úsáid na bhfeidhmeanna clárúcháin athghlaoite. M.sh.ample – Taispeánann Cur i bhFeidhm Athghlaoite CDC ACM iar-ampcur i bhfeidhm na bhfeidhmeanna glaonna ar ais.
Example – Clárú Athghlaoite CDC ACM

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

25/174

Tharview

uint8_t fo-aicme_uimhir; sl_status_t stádas;
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_cdc_acm_line_coding_changed, };
stádas = 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_nbr);
má tá (stádas ! SL_STATUS_OK) { /* Tharla earráid. Ba chóir láimhseáil earráide a chur leis anseo. */ }
Example – Cur i bhFeidhm Athghlaoite ACM CDC

bool app_usbd_cdc_acm_line_coding_changed (uint8_t

fo-aicme_uimhir,

sl_usbd_cdc_acm_line_coding_t *p_line_coding)

{

uint32_t ráta_baud_nua;

uint8_t comhionannas_nua;

uint8_t stop_giotáin_nua;

uint8_t sonraí_giotáin_nua;

/* LE DO Cuir códú líne nua i bhfeidhm.*/ baudrate_new = p_line_coding->BaudRate; parity_new = p_line_coding->Parity; stop_bits_new = p_line_coding->StopBits; data_bits_new = p_line_coding->DataBits;

filleadh (fíor);

(1)

}

neamhní app_usbd_cdc_acm_line_control_changed (uint8_t subclass_nbr, uint8_t event, uint8_t event_changed)
{ bool staid_rts; bool staid_rts_athraithe; bool staid_dtr; bool staid_dtr_athraithe; bool staid_brk; bool staid_brk_athraithe;

/* LE DO Cuir rialú líne nua i bhfeidhm. */ rts_state = ((event & SL_USBD_CDC_ACM_CTRL_RTS) ! 0) ? fíor : bréagach; rts_state_changed = ((event_changed & SL_USBD_CDC_ACM_CTRL_RTS) ! 0) ? fíor : bréagach; dtr_state = ((event_changed & SL_USBD_CDC_ACM_CTRL_DTR) ! 0) ? fíor : bréagach; dtr_state_changed = ((event_changed & SL_USBD_CDC_ACM_CTRL_DTR) ! 0) ? fíor : bréagach; brk_state = ((event & SL_USBD_CDC_ACM_CTRL_BREAK) ! 0) ? fíor : bréagach; brk_state_changed = ((imeacht_athraithe & SL_USBD_CDC_ACM_CTRL_BREAK) ! 0) ? fíor : bréagach;
}

(1) Tá sé tábhachtach bréag a thabhairt ar ais don fheidhm seo má theip ar an gcódú líne a chur i bhfeidhm. Seachas sin, tabhair fíor ar ais.
Cumarsáid a dhéanamh ag baint úsáide as an Aicme CDC ACM
Stádas Sraitheach
Rialú Líne Códaithe Líne

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

26/174

Tharview

Cumarsáid Aisling Fo-aicme Stáit Líne
Stádas Sraitheach
Códú Líne
Rialaíonn an t-óstach USB códú líne (ráta baud, paireacht, srl.) an fheiste CDC ACM. Nuair is gá, is é an feidhmchlár atá freagrach as an gcódú líne a shocrú. Tá dhá fheidhm ar fáil chun an códú líne reatha a aisghabháil agus a shocrú, mar a thuairiscítear sa tábla thíos.
Tábla – Feidhmeanna Códaithe Líne CDC ACM

Feidhm
sl_usbd_cdc_acm_g e t_line _coding ()
sl_usbd_cdc_acm_s e t_line _coding ()

Cur síos
Is féidir le d’fheidhmchlár na socruithe códaithe líne reatha a fháil ón óstach le hiarratais SetLineCoding nó leis an bhfeidhm sl_usbd_cdc_acm_set_line_coding().
Is féidir le d’fheidhmchlár an códú líne a shocrú. Is féidir leis an óstach na socruithe a aisghabháil leis an iarratas GetLineCoding.

Rialú Líne
Rialaíonn an t-óstach USB an rialú líne (bioráin RTS agus DTR, comhartha briste, agus mar sin de) den fheiste CDC ACM. Nuair is gá, tá d’fheidhmchlár freagrach as na rialuithe líne a chur i bhfeidhm. Cuirtear feidhm ar fáil chun na rialuithe líne reatha a aisghabháil agus a shocrú, mar a thuairiscítear sa tábla thíos.
Tábla – Feidhmeanna Rialaithe Líne CDC ACM

Feidhm
sl_usb d _cd c_acm_g e t_line _control o l_state ()

Is féidir le d'fheidhmchlár staid reatha na líne rialaithe atá socraithe ag an óstach a fháil leis an iarratas SetControlLineState.

Stáit Líne
Aisghabhann an t-óstach USB staid na líne go rialta. Caithfidh d’fheidhmchlár staid na líne a nuashonrú gach uair a athraíonn sé. Nuair is gá, tá d’fheidhmchlár freagrach as staid na líne a shocrú. Cuirtear dhá fheidhm ar fáil chun na rialuithe líne reatha a aisghabháil agus a shocrú, mar a thuairiscítear sa tábla thíos.
Tábla – Feidhmeanna Stádais Líne CDC ACM

Feidhm
sl_usb d _cd c_acm_se t _line _state _e ve nt()
sl_usbd_cdc_acm_cle ar_line _state _e ve nt()

Is féidir le d'fheidhmchlár aon teagmhas staid líne a shocrú. Agus staid na líne á socrú, seoltar aistriú IN idirbhriseadh chuig an óstach chun athrú i staid na líne sraitheach a chur ar an eolas faoi.
Is féidir leis an bhfeidhmchlár dhá imeacht den staid líne a ghlanadh: braiteadh iompróra tarchuir agus braiteadh iompróra glacadóra. Glanann fo-aicme aithrise sraitheach ACM na himeachtaí eile go léir.

Cumarsáid Fho-aicme

Cuireann fo-aicme ACM Silicon Labs na feidhmeanna seo a leanas ar fáil chun cumarsáid a dhéanamh leis an óstach. Le haghaidh tuilleadh sonraí faoi na paraiméadair functions9, féach an tagairt do Fheidhmeanna Fo-aicme ACM CDC.

Ainm feidhme
sl_usb d _cd c_acm_ léigh () sl_usb d _cd c_acm_scríobh ()

Oibríocht
Faigheann sé sonraí ón óstach trí chríochphointe mórchóir OUT. Tá an fheidhm seo ag blocáil. Seolann sé sonraí chuig an óstach trí chríochphointe mórchóir IN. Tá an fheidhm seo ag blocáil.

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

27/174

Tharview

Tábla – Achoimre ar API Cumarsáide CDC ACM aaaaa Soláthraíonn sl_usbd_cdc_acm_read() agus sl_usbd_cdc_acm_write() cumarsáid shioncrónach, rud a chiallaíonn go bhfuil an t-aistriú á bhac. Is é sin le rá, nuair a ghlaonn an fheidhm, blocálann an feidhmchlár go dtí go mbeidh an t-aistriú críochnaithe le hearráid nó gan earráid. Is féidir teorainn ama a shonrú chun fanacht go deo a sheachaint. An t-eiseamláirampTaispeánann an leathanach thíos sampla léite agus scríbhneoireachtaampa fhaigheann sonraí ón óstach ag baint úsáide as an gcríochphointe mórchóir OUT agus a sheolann sonraí chuig an óstach ag baint úsáide as an gcríochphointe mórchóir IN.
Liostáil – Léamh agus Scríobh Sraitheach Example

__ALIGNED(4) uint8_t rx_buf[2];

__AILÍNITHE(4) uint8_t tx_buf[2];

uint32_t

xfer_len;

sl_status_t

stádas;

stádas = sl_usbd_cdc_acm_read(subclass_nbr,

(1)

rx_buf,

(2)

2u,

0u,

(3)

&xfer_len);

má tá (stádas ! SL_STATUS_OK) {

/* Tharla earráid. Ba chóir láimhseáil earráide a chur leis anseo. */

}

stádas = sl_usbd_cdc_acm_write(subclass_nbr,

(1)

tx_buf,

(4)

2u,

0u,

(3)

&xfer_len);

má tá (stádas ! SL_STATUS_OK) {

/* Tharla earráid. Ba chóir láimhseáil earráide a chur leis anseo. */

}

T aaaaa M (1) Soláthraíonn an uimhir chlas ss instance a cruthaíodh le sl_usbd_cdc_acm_create_instance() tagairt inmheánach don fho-aicme AC chun an t-aistriú a threorú chuig an gcríochphointe cuí OUT nó IN. (2) Ní mór do d'fheidhmchlár a chinntiú go bhfuil an maolán a sholáthraítear don fheidhm mór go leor chun na sonraí go léir a chur san áireamh. Seachas sin, d'fhéadfadh fadhbanna sioncrónaithe tarlú. (3) Chun cás blocála gan teorainn a sheachaint, sonraigh am scoir a shloinntear i milleasoicindí. Fágann luach 809 go bhfanann tasc an fheidhmchláir go deo. (4) Soláthraíonn an feidhmchlár an maolán tarchuir tosaithe.

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

28/174

Tharview
Tharview

Aicme HID Gléas USB

Gléas USB HID Rang Tharview Riachtanais Acmhainní Ranga HID Gléas USB ón gCroí-Chumraíocht Ranga HID Gléas USB Treoir Chlársceidealaithe Ranga HID Gléas USB Tuarascálacha Ionchuir Thréimhsiúla HID Tasc
Déantar cur síos sa chuid seo ar an rang Gléas Comhéadain Daonna (HID) a dtacaítear leis ag Gléas USB Silicon Labs.
Cuimsíonn an rang HID gléasanna a úsáideann daoine chun oibríochtaí ríomhaire a rialú, amhail méarchláir, lucha, gléasanna pointeála agus gléasanna cluichí.
Is féidir an rang HID a úsáid freisin i ngléas ilchodach ina bhfuil rialuithe amhail cnaipí, lasca, cnaipí agus sleamhnáin. Mar shamplaampRialaítear rialuithe fuaime, tosta agus toirte i gcluasáin fuaime ag feidhm HID na gcluasán. Is féidir le rang HID sonraí a mhalartú chun aon chríche ag baint úsáide as aistrithe rialaithe agus cur isteach amháin.
Tá an rang HID ar cheann de na ranganna USB is sine agus is forleithne a úsáidtear. Soláthraíonn na príomhchórais oibriúcháin óstacha go léir tiománaí dúchasach chun gléasanna HID a bhainistiú, agus is é sin an fáth go n-oibríonn réimse gléasanna díoltóra-shonracha leis an rang HID. Cuimsíonn an rang seo cineálacha éagsúla míreanna aschuir amhail soilse LED, fuaim, aiseolas tadhlach, srl.
Comhlíonann cur i bhfeidhm HID na sonraíochtaí seo a leanas:
Sainmhíniú Aicme Gléasanna do Ghléasanna Comhéadain Dhaonna (HID), 27/6/01, Leagan 1.11. Táblaí Úsáide HID an Bhus Sraitheach Uilíoch, 28/10/2004, Leagan 1.12.
Gléas USB HID Rang Tharview
Tharview
Tá gléas HID comhdhéanta de na críochphointí seo a leanas:
Péire críochphointí rialaithe ISTEACH agus ISTEACH ar a dtugtar an críochphointe réamhshocraithe Críochphointe idirbhriste ISTEACH Críochphointe idirbhriste roghnach ISTEACH
Déantar cur síos sa tábla thíos ar úsáid na gcríochphointí éagsúla:
Tábla – Úsáid Chríochphointí Aicme HID

Úsáid Treo an Chríochphointe

Rialú IN
Rialú
AMACH
Idirbhriseadh ISTEACH
Cur isteach
AMACH

Gléas chuig óstach
Óstach go gléas
Gléas chuig óstach
Óstach go gléas

Iarratais chaighdeánacha le haghaidh áirimh, iarratais ar leith don rang, agus cumarsáid sonraí (Ionchur, Tuarascálacha gnéithe a sheoltar chuig an óstach le hiarratas GET_REPORT). Iarratais chaighdeánacha le haghaidh áirimh, iarratais ar leith don rang agus cumarsáid sonraí (Aschur, Tuarascálacha gnéithe a fhaightear ón óstach le hiarratas SET_REPORT). Cumarsáid sonraí (Ionchur agus Tuarascálacha Gnéithe).
Cumarsáid sonraí (tuarascálacha Aschuir agus Gnéithe).

Tuairisc

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

29/174

Tharview

Déanann óstach agus gléas HID sonraí a mhalartú trí úsáid a bhaint as tuarascálacha. Tá sonraí formáidithe i dtuarascáil a thugann faisnéis faoi rialuithe agus eintitis fhisiciúla eile den ghléas HID. Is féidir leis an úsáideoir rialú a ionramháil agus oibríonn sé gné den ghléas. Mar shamplaampm.sh., is féidir le rialú a bheith ina chnaipe ar luch nó ar mhéarchlár, ina lasc, srl. Cuireann eintitis eile an t-úsáideoir ar an eolas faoi staid ghnéithe áirithe de ghléasanna. Mar shamplaample, cuireann soilse LED ar mhéarchlár in iúl don úsáideoir go bhfuil an glas caipíní air, an méarchlár uimhriúil gníomhach, srl.
Tuigtear formáid agus úsáid sonraí tuarascála ag an óstach trí ábhar tuairisceora Tuarascála a anailísiú. Déantar anailís ar an ábhar le parsálaí. Déanann tuairisceoir na Tuarascála cur síos ar shonraí a sholáthraíonn gach rialú i ngléas. Tá sé comhdhéanta de mhíreanna ar píosaí faisnéise iad faoin ngléas agus is éard atá iontu réimír 1-bheart agus fad athraitheach.
sonraí. Le haghaidh tuilleadh sonraí faoin bhformáid earra, féach ar
1.11=, alt 5.6 agus 6.2.2.
Tá trí phríomhchineál míreanna ann:
Sainmhíníonn nó grúpálann an phríomhmhír cineálacha áirithe réimsí sonraí.
Déanann mír dhomhanda cur síos ar shaintréithe sonraí rialaithe.
Déanann mír áitiúil cur síos ar shaintréithe sonraí rialaithe.
Sainmhínítear gach cineál míre le feidhmeanna difriúla. Is féidir feidhm míre a thabhairt freisin ar fheidhm tagIs féidir feidhm mhíre a fheiceáil mar fho-mhír a bhaineann le ceann de na trí phríomhchineál míre. Tugann an tábla thíos achoimre ghearr arview de fheidhmeanna na míreanna i ngach cineál míre. Chun cur síos iomlán a fháil ar na míreanna i ngach catagóir, féach
Tábla – Cur Síos ar Fheidhm na Míre do Gach Cineál Míre

Mír Cineál Míre Feidhm

Cur síos

Príomh-Ionchur

Déanann cur síos ar fhaisnéis faoi na sonraí a sholáthraíonn rialú fisiceach amháin nó níos mó.

Príomhaschur Déanann cur síos ar shonraí a sheoltar chuig an bhfeiste.

Príomhghné

Déanann sé cur síos ar fhaisnéis chumraíochta gléis a sheoltar chuig an ngléas nó a fhaightear ón ngléas a mbíonn tionchar aici ar iompar foriomlán na gléis nó ceann dá chomhpháirteanna.

Míreanna gaolmhara leis an bPríomhghrúpa Bailiúcháin (Ionchur, Aschur nó Gné).

Príomh-Deireadh Dúnann bailiúchán. Bailiúchán

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

30/174

Tharview

Mír Cineál Míre Feidhm

Cur síos

Leathanach Úsáide Domhanda

Sainaithníonn sé feidhm atá ar fáil laistigh den fheiste.

Loighciúil Domhanda Sainmhíníonn sé an teorainn níos ísle de na luachanna tuairiscithe in aonaid loighciúla. Íosmhéid

Loighciúil Domhanda Sainmhíníonn sé seo an teorainn uachtarach de na luachanna tuairiscithe in aonaid loighciúla. Uasmhéid

Fisiceach Domhanda Sainmhíníonn sé an teorainn níos ísle de na luachanna tuairiscithe in aonaid fhisiceacha, is é sin an Íosmhéid Loighciúil arna shloinneadh in aonaid fhisiceacha.

Fisiceach Domhanda Sainmhíníonn sé an teorainn uachtarach de na luachanna tuairiscithe in aonaid fhisiceacha, is é sin an Uasmhéid Loighciúil arna shloinneadh in aonaid fhisiceacha.

Aonad Domhanda

Léiríonn sé an t-easpónant aonaid i mbonn 10. Tá an t-easpónant idir -8 agus +7.

Eisitheoir

Aonad Domhanda

Léiríonn sé aonad na luachanna tuairiscithe. Mar shampla, fad, mais, aonaid teochta, srl.

Méid na Tuairisce Domhanda

Léiríonn sé méid na réimsí tuairisce i ngiotáin.

Aitheantas na Tuairisce Domhanda Léiríonn sé an réimír a cuireadh le tuarascáil ar leith.

Líon na dTuarascálacha Domhanda

Léiríonn sé líon na réimsí sonraí le haghaidh míre.

Brú Domhanda

Cuireann sé cóip den tábla stáit mhír dhomhanda ar stac an LAP.

Pop Domhanda

Cuireann sé an struchtúr deireanach ón stac in ionad an tábla stáit earra.

Úsáid Áitiúil

Léiríonn sé innéacs chun Úsáid shonrach a ainmniú laistigh de Leathanach Úsáide. Léiríonn sé an úsáid a mholann an díoltóir le haghaidh rialú nó grúpa rialuithe ar leith. Soláthraíonn úsáid faisnéis d'fhorbróir feidhmchláir faoi cad atá rialú ag tomhas i ndáiríre.

Úsáid Áitiúil

Sainmhíníonn sé an úsáid tosaigh a bhaineann le heagar nó le léarscáil giotán.

íosmhéid

Úsáid Áitiúil

Sainmhíníonn sé an úsáid deiridh a bhaineann le heagar nó le léarscáil giotán.

Uasmhéid

Ainmnitheoir Áitiúil Cinneann sé an chuid den chorp a úsáidtear le haghaidh rialaithe. Pointíonn innéacs chuig ainmnitheoir sa chóras fisiciúil.

Innéacs

tuairisceoir.

Ainmnitheoir Áitiúil Sainmhíníonn sé innéacs an ainmnitheora tosaigh a bhaineann le heagar nó le giotáipéar. Íosmhéid

Ainmnitheoir Áitiúil Sainmhíníonn sé innéacs an ainmnitheora deiridh a bhaineann le heagar nó le giotáipéar. Uasmhéid

Innéacs Teaghrán Áitiúil

Innéacs teaghrán le haghaidh tuairisc Teaghrán. Ceadaíonn sé teaghrán a cheangal le mír nó rialú ar leith.

Teaghrán Áitiúil

Sonraíonn sé an chéad innéacs teaghrán agus grúpa teaghrán seicheamhach á shannadh do rialuithe in eagar

Íosmhéid nó giotámap.

Áitiúil Áitiúil

Uasmhéid Teaghrán
Teorainneoir

Sonraíonn sé seo an t-innéacs teaghrán deireanach agus grúpa teaghrán seicheamhach á shannadh do rialuithe in eagar nó i léarscáil giotán.
Sainmhíníonn sé tús nó deireadh tacar míreanna áitiúla.

Ní mór do shonraí control9s na míreanna seo a leanas ar a laghad a shainiú:
Ionchur, Aschur nó Gné Príomh-mhíreanna Úsáid Mír Áitiúil Úsáid Leathanach Mír Dhomhanda Íosmhéid Loighciúil Mír Dhomhanda Uasmhéid Loighciúil Mír Dhomhanda Méid na Tuairisce Mír Dhomhanda

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

31/174

Tharview
Mír Dhomhanda Líon na dTuarascálacha Taispeánann an tábla thíos léiriú ar ábhar tuairisceora Tuairisc Luiche ó pheirspictíocht parsálaí HID óstach. Tá trí chnaipe ar an luch (clé, deas, agus roth). An cód a chuirtear i láthair san eisiúintampTá cur i bhfeidhm cóid thíos a fhreagraíonn don léiriú tuairisceora Tuairisc luiche seo.
Fíor – Ábhar Tuairiscí Tuairisc ó Pharsálaí HID Óstach View

(1) Sonraíonn feidhm mhír Leathanach Úsáide feidhm ghinearálta an fheiste. Sa sampla seoample, is le duine an gléas HID
rialú deisce cineálach.
(2) Grúpaíonn an Bhailiúchán Feidhmchlár Príomh-mhíreanna a bhfuil cuspóir coiteann acu agus a d'fhéadfadh a bheith eolach d'fheidhmchláir. Sa léaráid, tá an grúpa comhdhéanta de thrí Phríomh-mhír Ionchuir. Don bhailiúchán seo, is é an úsáid mholta do na rialuithe ná luch mar a léirítear leis an mír Úsáide. (3) Féadfar bailiúcháin neadaithe a úsáid chun tuilleadh sonraí a thabhairt faoi úsáid rialaithe aonair nó grúpa rialuithe d'fheidhmchláir. Sa sampla seoample, tá an Bhailiúchán Fisiceach, atá neadaithe san Fheidhmchlár Bhailiúcháin, comhdhéanta de na trí mhír Ionchuir chéanna a chruthaíonn an Feidhmchlár Bhailiúcháin. Úsáidtear an Bhailiúchán Fisiceach le haghaidh sraith míreanna sonraí a léiríonn pointí sonraí a bailíodh ag pointe geoiméadrach amháin. Sa samplaampi.e., is é an úsáid a mholtar ná pointeoir mar a léirítear leis an mír Úsáide. Anseo, tagraíonn úsáid an phointeora do chomhordanáidí shuíomh na luiche agus aistreoidh bogearraí an chórais comhordanáidí na luiche agus cúrsóir an scáileáin ag gluaiseacht. (4) Is féidir leathanaigh úsáide neadaithe a bheith ann freisin agus tugann siad tuilleadh sonraí faoi ghné áirithe laistigh de fheidhm ghinearálta an fheiste. Sa chás seo, grúpáiltear dhá mhír Ionchuir agus comhfhreagraíonn siad do chnaipí na luiche. Sainmhíníonn mír Ionchuir amháin na trí chnaipe den luch (deas, clé agus roth) i dtéarmaí líon na réimsí sonraí don mhír (mír Líon Tuairiscithe), méid réimse sonraí (mír Méid Tuairiscithe) agus luachanna féideartha do gach réimse sonraí (Íosmhéid agus Uasmhéid Úsáide, Míreanna Íosmhéid agus Uasmhéid Loighciúil). Is tairiseach 13-giotán an mhír Ionchuir eile a ligeann do shonraí na tuarascála Ionchuir a bheith ailínithe ar theorainn beart. Ní úsáidtear an mhír Ionchuir seo ach chun críche líonta. (5) Sainmhínítear leathanach úsáide neadaithe eile a thagraíonn do rialú deisce cineálach do chomhordanáidí shuíomh na luiche. Don leathanach úsáide seo, déanann an mhír Ionchuir cur síos ar na réimsí sonraí a fhreagraíonn don ais-x agus don ais-y mar atá sonraithe ag an dá Úsáid.
míreanna.
Tar éis anailís a dhéanamh ar ábhar tuairisceora Thuarascála na luiche roimhe seo, is féidir le parsálaí HID an host9s na sonraí tuarascála ionchuir a sheol an gléas le haistriú IN idirbhriseadh nó mar fhreagra ar iarratas GET_REPORT a léirmhíniú. Na sonraí tuarascála ionchuir a fhreagraíonn do thuairisceora Thuarascála na luiche a thaispeántar i bhFíor – Ábhar Tuairisceora Thuarascála ó Pharsálaí HID Óstach View is

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

32/174

Tharview

mar a thaispeántar sa tábla thíos. Is é 4 bheart méid iomlán shonraí na tuarascála. Féadfar cineálacha éagsúla tuarascálacha a sheoladh thar an gcríochphointe céanna. Chun idirdhealú a dhéanamh idir na cineálacha éagsúla tuarascálacha, cuirtear réimír aitheantais tuarascála 1 bheart leis an tuarascáil sonraí. Má úsáideadh aitheantas tuarascála sa samplaampden tuarascáil luiche, bheadh ​​​​5 beart i méid iomlán shonraí na tuarascála.
Tábla – Tuarascáil Ionchuir Seolta chuig an Óstach agus a Chomhfhreagraíonn do Staid Luch 3 Chnaipe

Fritháireamh Giotán
0 1 2 3 16 24

Líon na nGiotán 1 1 1 13 8 8

Cur Síos Cnaipe 1 (cnaipe clé). Cnaipe 2 (cnaipe deas). Cnaipe 3 (cnaipe rotha). Gan úsáid. Suíomh ar ais X. Suíomh ar ais Y.

Léiríonn tuairisceoir fisiceach an chuid nó na codanna den chorp atá beartaithe chun rialú nó rialuithe a ghníomhachtú. Féadfaidh feidhmchlár an fhaisnéis seo a úsáid chun feidhmiúlacht a shannadh do rialú gléis. Is tuairisceoir roghnach rang-shonrach é tuairisceoir fisiceach agus is beag tairbhe a bhaineann le formhór na ngléasanna as a úsáid. Féach ar
Riachtanais Acmhainní Ranga HID Gléas USB ó Core

Gach uair a chuireann tú cás den rang HID le cumraíocht USB trí ghlao ar an bhfeidhm sl_usbd_hid_add_to_configuration(), leithdháilfear na hacmhainní seo a leanas ón gcroílár.

Acmhainn
Comhéadain Comhéadain mhalartacha Críochphointí Grúpaí comhéadain

Cainníocht
1 1 1 (2 má tá críochphointe cur isteach OUT cumasaithe) 0

Tabhair faoi deara go bhfuil na huimhreacha sin de réir na cumraíochta. Agus luachanna cumraíochta SL_USBD_INTERFACE_QUANTITY, SL_USBD_ALT_INTERFACE_QUANTITY, SL_USBD_INTERFACE_GROUP_QUANTITY agus SL_USBD_DESCRIPTOR_QUANTITY á mbunú agat, ná déan dearmad a chur san áireamh cé mhéad cumraíocht a chuirfear leis an rang. Maidir leis an luach cumraíochta SL_USBD_OPEN_ENDPOINTS_QUANTITY, ós rud é nach n-osclaítear críochphointí ach amháin nuair a shocraíonn an t-óstach cumraíocht, ní gá duit ach líon na gcríochphointí atá riachtanach le haghaidh sampla ranga a chur san áireamh.
Cumraíocht Ranga HID Gléas USB

Úsáidtear dhá ghrúpa paraiméadair chumraíochta chun an rang HID a chumrú:
Cumraíochtaí Sonracha don Fheidhmchlár de chuid Gléas USB Cumraíochtaí Cás Ranga HID de chuid Gléas USB
Cumraíochtaí Sonracha d'Fheidhmchlár Gléas USB Rang HID

Ar dtús, chun modúl ranga HID gléas USB Silicon Labs a úsáid, coigeartaigh sainmhínithe chumraíochta am tiomsaithe HID de réir riachtanais d'fheidhmchláir. Tá siad athghrúpáilte taobh istigh den cheanntásc sl_usbd_core_config.h. file faoin rannán HID. Is féidir iad a roinnt ina dhá rannán, na cumraíochtaí cainníochta agus cumraíochtaí tascanna HID. Is é cuspóir na gcumraíochtaí cainníochta ná an modúl gléas USB a chur ar an eolas faoi cé mhéad réad USB HID atá le leithdháileadh.
Déantar cur síos ar gach sainmhíniú cumraíochta sa tábla thíos.
Tábla – Sainmhíníonn Cumraíocht HID Gléas USB

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

33/174

Tharview

Ainm Cumraíochta
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 TOSAÍOCHT CEIST

Cur síos
Líon na gcásanna ranga a leithdháilfidh tú trí ghlao chuig an bhfeidhm
sl_usbd_hid_create_instance().
Líon na gcumraíochtaí. Is féidir samplaí den rang HID a chur le cumraíocht aaaa amháin nó níos mó tríd an bhfeidhm sl_usbd_hid_add_to_configuration(). Cumraíonn sé líon iomlán na n-aitheantas tuairisce le leithdháileadh.
Cumraíonn sé líon iomlán na míreanna Brúigh/Poip le leithdháileadh.
Láimhseálann an tasc lasc ama na hoibríochtaí HID uile atá bunaithe ar an lasc ama. Ligeann an chumraíocht seo duit méid an staice a shocrú (i líon na mbeart). Tosaíocht an tasc HID. Is tosaíocht CMSIS-RTOS2 í seo.

Luach Réamhshocraithe
2 1 2 0 2048
Ard-Tosaíocht os

Gléas USB Aicme HID Cumraíochtaí Aicsin Aicme Fo-aicme Cruthú Aicsin
cód_tíre_prótacail
interval_in agus interval_out p_hid_callback Tuairisc Tuairisce Aicme HID EiseamláirampSainmhíníonn an chuid seo na cumraíochtaí a bhaineann leis na samplaí ranga HID.
Cruthú Cás Ranga
Déantar cás ranga HID a chruthú tríd an bhfeidhm aaa sl_usbd_hid_create_instance() a ghlaoch, rud a chruthaíonn roinnt argóintí cumraíochta a bhfuil cur síos orthu thíos.
fo-aicme
Cód an fho-aicme HID. Is iad seo a leanas na luachanna féideartha:
SL_USBD_HID_SUBCL ASS_NONE SL_USBD_HID_SUBCL ASS_BOOT
Ní mór do ghléas HID a úsáideann an fo-aicme tosaithe formáidí tuairiscithe caighdeánacha a úsáid. Le haghaidh tuilleadh eolais ar chóid na bhfo-aicme, féach alt 4.2 d'athbhreithniú 1.11 ar shonraíocht HID.
prótacal
Prótacal a úsáideann an gléas HID. Is iad seo a leanas na luachanna féideartha:
SL_USBD_HID_PROTOCOL_NONE SL_USBD_HID_PROTOCOL_KBD SL_USBD_HID_PROTOCOL_MOUSE
Más luch atá i do fheidhm HID, ba chóir an prótacal a shocrú go SL_USBD_HID_PROTOCOL_MOUSE. Más méarchlár atá ann, ba chóir é a shocrú go SL_USBD_HID_PROTOCOL_KBD. ar an láimh eile, ba chóir an prótacal a shocrú go SL_USBD_HID_PROTOCOL_NONE. Le haghaidh tuilleadh eolais faoi na cóid fho-aicme, féach alt 4.3 d'athbhreithniú 1.11 ar shonraíocht HID.
cód_tíre
ID an chóid tíre. Is iad seo a leanas na luachanna féideartha:
NÍ_THA_TACAÍTEAR_LE_SL_USBD_HID_COD_TÍRE

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

34/174

Tharview
SL_USBD_HID_COD_CODE_TÍRE_ARABIC SL_USBD_HID_COD_CODE_TÍRE_AN BEILG SL_USBD_HID_COD_CODE_TÍRE_CEANADAIGH_DÁTHEANGACH SL_USBD_HID_COD_CODE_TÍRE_CEANADAIGH_FRAINCIS SL_USBD_HID_COD_CODE_TÍRE_POBLACHT_NA_SEICE SL_USBD_HID_COD_CODE_TÍRE_AN DANISH SL_USBD_HID_COD_CODE_TÍRE_AN FIONLAINNIS SL_USBD_HID_COD_CODE_TÍRE_AN FRAINCIS SL_USBD_HID_COD_CODE_TÍRE_AN GEARMÁIN SL_USBD_HID_COD_CODE_TÍRE_AN GRÉIGIS SL_USBD_HID_COD_CODE_TÍRE_EABHRAIS SL_USBD_HID_COD_CODE_TÍRE_AN UNGÁIR SL_USBD_HID_COD_CODE_TÍRE_IDIRNÁISIÚNTA SL_USBD_HID_COD_CODE_TÍRE_AN IODÁILIS SL_USBD_HID_COUNTRY_CODE_JAPAN_KATAKANA SL_USBD_HID_COUNTRY_CODE_KOREAN SL_USBD_HID_COUNTRY_CODE_L ATIN_AMERICAN SL_USBD_HID_COUNTRY_CODE_NETHERL AGUS SL_USBD_HID_COUNTRY_CODE_NOORWEGIAN SL_USBD_HID_COUNTRY_CODE_PERSIAN_FARSI SL_USBD_HID_COUNTRY_CODE_POL AGUS SL_USBD_HID_COUNTRY_CODE_PORTUGUESE SL_USBD_HID_COUNTRY_CODE_RUSSIA SL_USBD_HID_COUNTRY_CODE_SLOVAKIA SL_USBD_HID_COUNTRY_CODE_SPANISH SL_USBD_HID_COUNTRY_CODE_SUALAINIS SL_USBD_HID_COUNTRY_CODE_SWISS_FRENCH SL_USBD_HID_COUNTRY_CODE_SWISS_GERMAN SL_USBD_HID_COUNTRY_CODE_SWITZERL AGUS 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_HID_COUNTRY_CODE_YUG OSL AVIA SL_USBD_HID_COUNTRY_CODE_TURKISH_F
Aithníonn an cód tíre cén tír a bhfuil an crua-earraí logánaithe di. Níl an chuid is mó de na crua-earraí logánaithe agus dá bhrí sin bheadh ​​an luach seo SL_USBD_HID_COUNTRY_CODE_NOT_SUPPORTED (0). Mar sin féin, is féidir le méarchláir an réimse a úsáid chun teanga na gcaipíní eochracha a léiriú.
Le haghaidh tuilleadh eolais faoi na cóid tíre, féach alt 6.2.1 d’athbhreithniú 1.11 ar shonraíocht HID.
eatramh_isteach agus eatramh_amach
Léiríonn interval_in agus interval_out an t-eatramh vótaíochta den chríochphointe idirbhriseadh IN agus den chríochphointe idirbhriseadh OUT.
Léiríonn sé seo eatramh vótála an chríochphointe, i milleasoicindí. Braitheann socrú an luacha seo ar cé chomh minic is atá do ghléas so-ghabhálach chun tuarascáil nua a ghiniúint don óstach. Mar shampla, má ghintear tuarascáil gach 16 milleasoicind, ba chóir go mbeadh an t-eatramh 16 nó níos lú.
Ní mór don luach a bheith ina chumhacht de 2 (1, 2, 4, 8, 16, srl.).
Déantar neamhaird ar v lue interval_out má shocraítear ctrl_rd_en go fíor.
p_hid_callback
Is pointeoir chuig struchtúr de chineál sl_usbd_hid_callbacks_t é aaaa p_hid_callback. Is é an cuspóir atá leis tacar feidhmeanna glaonna ar ais a thabhairt don HID Cl ss le glaoch orthu nuair a tharlaíonn teagmhas HID.

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

35/174

Tharview

Ní bhíonn gach glao ar ais éigeantach agus is féidir pointeoir nialasach (NULL) a chur isteach san athróg struchtúir glaonna ar ais nuair nach bhfuil an glao ar ais ag teastáil. Déantar cur síos sa tábla thíos ar gach réimse cumraíochta atá ar fáil sa struchtúr cumraíochta seo.
Tábla – Struchtúr Cumraíochta sl_usbd_hid_callbacks_t

Réimsí

Cur síos

Síniú Feidhme

.cumasaigh .díchumasaigh .faigh_tuarascáil_desc
.faigh_phy_desc
.set_output_report .get_feature_report .set_feature_report

Glaoitear nuair a bhíonn an cás ranga USB cumasaithe go rathúil. Glaoitear nuair a bhíonn an cás ranga USB díchumasaithe.
Glaoite le linn chruthú Chás HID chun do thuairisceoir tuarascála a rith. I gcás gach ceann de do fheidhmeanna HID, ní mór duit tuairisceoir tuarascála a sholáthar. Léiríonn tuairisceoir na tuarascála don óstach conas ba chóir an tuarascáil thréimhsiúil a sheolfaidh an gléas a pharsáil. Is féidir go mbeadh sé dúshlánach do thuairisceoir tuarascála féin a scríobh, agus sin an fáth go bhfuil roinnt acmhainní ann chun cabhrú. Seo an t-aon fheidhm ghlao ar ais éigeantach. Glaoite le linn chruthú Chás HID chun do thuairisceoir fisiceach a rith. Is tuairisceoir é an tuairisceoir fisiceach a sholáthraíonn faisnéis faoin gcuid nó na codanna sonracha den chorp daonna atá ag gníomhú rialú nó rialuithe. Le haghaidh tuilleadh eolais ar thuairisceoirí fisiceacha, féach alt 6.2.3 d'athbhreithniú 1.11 ar shonraíocht HID. Tá an tuairisceoir fisiceach roghnach agus déantar neamhaird de an chuid is mó den am. Is féidir an maolán a rithtear anseo a shocrú go NULL agus an fad a shocrú go 0. Glaoite nuair a shocraíonn an t-óstach tuarascáil mar a thuairiscítear i do thuairisceoir tuarascála (nuair a sheolann sé tuarascáil).
Glaotar air nuair a iarrann an t-óstach tuarascáil ghné mar a thuairiscítear i do thuairisc tuairisce.
Glaotar air nuair a shocraíonn an t-óstach tuarascáil ghné mar a thuairiscítear i do thuairisc tuarascála.

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 tuairisc_id, uint8_t *p_report_buf, uint16_t tuairisc_len); void app_usbd_hid_get_feature_report(uint8_t class_nbr, uint8_t tuairisc_id, uint8_t *p_report_buf, uint16_t tuairisc_len); void app_usbd_hid_set_feature_report(uint8_t class_nbr, uint8_t tuairisc_id, uint8_t *p_report_buf, uint16_t tuairisc_len);

.faigh_protocol

Aisghabhann sé an prótacal gníomhach reatha.

neamhní app_usbd_hid_get_protocol(uint8_t class_nbr, uint8_t *p_protocol);

.set_protocol

Socraíonn an prótacal gníomhach reatha.

neamhní app_usbd_hid_set_protocol(uint8_t class_nbr, uint8_t prótacal);

Tuairisc Tuairisc Ranga HID Example

Ranganna HID Silicon LabsampSoláthraíonn an feidhmchlár seo sean-eolas.ampde thuairisceoir tuarascála le haghaidh luchóg shimplí. An t-iar-ampTaispeánann an leathanach thíos tuairisc tuairisce luiche.
Example – Tuairisc Tuairisc Luiche

statach 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)

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

36/174

Tharview

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)

BAILIÚCHÁN SL_USBD_HID_MAIN_END

(11)};

(1) Déantar an tábla a léiríonn tuairisceoir tuairisce luiche a thosú sa chaoi is go gcomhfhreagraíonn gach líne do mhír ghearr. Tá an mhír ghearr sin déanta as réimír 1-bheart agus sonraí 1-bheart. Féach ar viewarna n-eagar ag parsálaí HID óstach i bhFíor – Tuairisc ar Ábhar ó Pharsálaí HID Óstach View.
(2) Úsáidtear an Leathanach Úsáide Deisce Cineálach.
(3) Laistigh den Leathanach Úsáide Deisce Cineálach, an úsáid tag tugann sé le fios gur chun luch a rialú atá an grúpa rialuithe. De ghnáth bíonn dhá ais (X agus Y) agus cnaipe amháin, dhá cheann, nó trí cinn i mbailiúchán luch.
(4) Tosaítear ar bhailiú na luch.
(5) Laistigh den bhailiúchán luch, úsáid tag tugann sé le fios go sonrach gur leis an mbailiúchán pointeoirí na rialuithe luiche. Is bailiúchán aiseanna é bailiúchán pointeoirí a ghineann luach chun díriú, léiriú nó díriú intinn úsáideora ar fheidhmchlár.
(6) Cuirtear tús leis an mbailiúchán pointeoirí.
(7) Sainmhíníonn an Leathanach Úsáide Cnaipí mír Ionchuir atá comhdhéanta de thrí réimse 1-giotán. Seasann gach réimse 1-giotán do chnaipe 1, 2 agus 3 na luiche faoi seach agus is féidir leis luach 0 nó 1 a thabhairt ar ais.
(8) Tá 13 giotán eile líonta leis an Mír Ionchuir don Leathanach Úsáide Cnaipí.
(9) Léirítear Leathanach Úsáide Deisce Cineálach eile chun cur síos a dhéanamh ar shuíomh na luiche leis na haiseanna X agus Y. Tá an mhír Ionchuir comhdhéanta de dhá réimse 8-giotán a bhféadfadh a luach a bheith idir -127 agus 127.
(10) Tá an bailiúchán pointeoirí dúnta.
(11) Tá bailiúchán na luch dúnta.
Leathanach HID USB.org

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

37/174

Tharview
Cuireann Fóram Chur i bhFeidhm USB (USB-IF) uirlis ar fáil ar a dtugtar “Uirlis Tuairisceora HID” mar aon le faisnéis eile ar fhormáid tuairisceora na tuarascála. Féach http://www.usb.org/developers/hidpage/ le haghaidh tuilleadh eolais.
Treoir Chlársceidealaithe Aicme HID Gléas USB
Mínítear sa chuid seo conas an rang HID a úsáid. Túsú Rang HID Gléas USB Ag cur Cás Rang HID Gléas USB le do Ghléas Cumarsáid a dhéanamh ag baint úsáide as Rang HID Gléas USB
Ag Tosú Rang HID Gléas USB
Chun feidhmiúlacht Aicme HID a chur le do ghléas, ní mór duit an rang a thosú ar dtús tríd an bhfeidhm sl_usbd_hid_init() a ghlaoch. An t-eiseamláirampTaispeánann an leathanach thíos conas sl_usbd_hid_init() a ghlaoch ag baint úsáide as argóintí réamhshocraithe. Le haghaidh tuilleadh eolais faoi na hargóintí cumraíochta atá le cur chuig sl_usbd_hid_init(), féach Cumraíochtaí Sonracha Feidhmchláir Aicme HID Gléas USB.
Example – Ag glaoch ar sl_usbd_hid_init()
sl_status_t stádas;
stádas = sl_usbd_hid_init(); má tá (stádas ! SL_STATUS_OK) { /* Tharla earráid. Ba chóir láimhseáil earráide a chur leis anseo. */
}
Ag cur sampla den rang HID de ghléas USB le do ghléas
Chun feidhmiúlacht ranga HID a chur le do ghléas, ní mór duit sampla a chruthú, agus ansin é a chur le cumraíocht(aí) do ghléis.
Ag cruthú Cás Ranga HID
Cruthaigh cás den rang HID trí ghlaoch ar an bhfeidhm sl_usbd_hid_create_instance().ampTaispeánann an le thíos conas feidhm shimplí luiche a chruthú trí sl_usbd_hid_create_instance() ag baint úsáide as argóintí réamhshocraithe. Le haghaidh tuilleadh eolais faoi na hargóintí cumraíochta le cur chuig sl_usbd_hid_create_instance(), féach Cumraíochtaí Aicme HID Gléas USB.
Example – Feidhm Luiche á cur leis trí sl_usbd_hid_create_instance()

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

38/174

Tharview
/* Tairiseacha domhanda. */ tairiseacha statach 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_COLLECTION + 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_GLOBAL_USAGE_PAGE + 1, 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 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, SL_USBD_HID_GLOBAL_REPORT_SIZE + 1, 0 0D, SL_USBD_HID_MAIN_INPUT + 1, SL_USBD_HID_MAIN_CONSTANT, 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, SL_USBD_HID_MAIN_ENDCOLLECTION };
/* Athróga áitiúla.*/ uint8_t class_nbr; sl_status_t status;
sl_usbd_hid_callbacks_t app_usbd_hid_callbacks = { NIALAS, NIALAS, app_usbd_hid_get_report_desc, NIALAS, NIALAS, NIALAS, NIALAS, NIALAS, NIALAS };
neamhní app_usbd_hid_get_report_desc(uint8_t class_nbr, const uint8_t **p_report_ptr, uint16_t *p_report_len)
{ (neamhní)uimhir_aicme;
*p_report_ptr = app_usbd_hid_mouse_report_desc; *p_report_len = sizeof(app_usbd_hid_mouse_report_desc); }
stádas = 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, sizeof(Ex_USBD_HID_Mouse_ReportDesc), 2u, 2u, fíor, &app_usbd_hid_callbacks, &class_nbr);
Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

39/174

Tharview
/* Tharla earráid. Ba chóir láimhseáil earráide a chur leis anseo. */}
Ag cur an Aicme HID le Cumraíocht(aí) do Ghléis Tar éis duit aicme HID a chruthú, is féidir leat é a chur le cumraíocht tríd an bhfeidhm a ghlaoch
sl_usbd_hid_add_to_configuration().
An seanampTaispeánann an le thíos conas sl_usbd_hid_add_to_configuration() a ghlaoch.
Example – Ag glaoch ar sl_usbd_hid_add_to_configuration()

sl_status_t stádas;

sl_usbd_hid_add_to_configuration(aicme_uimhir,

(1)

cumraíocht_nbr_fs); (2)

má tá (stádas ! SL_STATUS_OK) {

/* Tharla earráid. Ba chóir láimhseáil earráide a chur leis anseo. */

}

(1) Uimhir an ranga le cur leis an gcumraíocht a chuirtear ar ais le sl_usbd_hid_create_instance(). (2) Uimhir chumraíochta (á cur le cumraíocht Lánluais anseo).
Cumarsáid a dhéanamh ag baint úsáide as an Aicme HID de Ghléas USB
Cumarsáid Aicme Cumarsáid Shioncrónach Cumarsáid Aicme Aicme Cuireann an rang HID na feidhmeanna seo a leanas ar fáil chun cumarsáid a dhéanamh leis an óstach.
Tábla – Achoimre ar API Cumarsáide HID

Ainm feidhme
sl_usb d _hid _read ad _sy nc() sl_usb d _hid _write _sy nc()

Oibríocht Faigheann sé sonraí ón óstach trí chríochphointe cur isteach OUT. Tá an fheidhm seo ag blocáil. Seolann sé sonraí chuig an óstach trí chríochphointe cur isteach IN. Tá an fheidhm seo ag blocáil.

Cumarsáid Shioncrónach Ciallaíonn cumarsáid shioncrónach go bhfuil an t-aistriú á bhac. Nuair a dhéantar an ghlao feidhme, blocálann na feidhmchláir go dtí go mbeidh an t-aistriú críochnaithe le hearráid nó gan earráid. Is féidir teorainn ama a shonrú chun fanacht go deo a sheachaint. An t-eiseamláirampTaispeánann an le thíos léamh agus scríobh a fhaigheann sonraí ón óstach ag baint úsáide as an gcríochphointe cur isteach OUT agus a sheolann sonraí chuig an óstach ag baint úsáide as an gcríochphointe cur isteach IN.
Example – Léamh agus Scríobh HID Sioncrónach

__ALIGNED(4) uint8_t rx_buf[2];

__AILÍNITHE(4) uint8_t tx_buf[2];

uint32_t

xfer_len;

sl_status_t

stádas;

stádas = sl_usbd_hid_read_sync(aicme_uimhir,

(1)

(neamhní *)rx_buf,

(2)

2u,

0u,

(3)

&xfer_len);

má tá (stádas ! SL_STATUS_OK) {

/* Tharla earráid. Ba chóir láimhseáil earráide a chur leis anseo. */

}

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

40/174

Tharview
status =sl_usbd_hid_read_sync(class_nbr,(1)(void *)rx_buf,(2)2u,0u,(3)&xfer_len);if(status !SL_STATUS_OK){/* Tharla earráid. Ba chóir láimhseáil earráide a chur leis anseo. */}
status =sl_usbd_hid_write_sync(class_nbr,(1)(void *)tx_buf,(4)2u,0u,(3)&xfer_len);if(status !SL_STATUS_OK){/* Tharla earráid. Ba chóir láimhseáil earráide a chur leis anseo. */}
(1) Soláthraíonn uimhir an ranga a cruthaíodh ó sl_usbd_hid_create_instance() tagairt inmheánach don rang HID chun an t-aistriú a threorú chuig an gcríochphointe OUT nó IN cuí.
(2) Ní mór don fheidhmchlár a chinntiú go bhfuil an maolán a chuirtear ar fáil don fheidhm mór go leor chun na sonraí go léir a chuimsiú. Seachas sin, d'fhéadfadh fadhbanna sioncrónaithe tarlú. Go hinmheánach, déantar an oibríocht léite leis an gcríochphointe rialaithe nó leis an gcríochphointe cur isteach, ag brath ar an mbratach léite rialaithe a shocraítear nuair a ghlaotar sl_usbd_hid_create_instance().
(3) Chun cás blocála gan teorainn a sheachaint, is féidir teorainn ama a shonrú a shloinntear i milleasoicindí. Fágann luach 809 go bhfanann tasc an fheidhmchláir go deo.
(4) Soláthraíonn an feidhmchlár an maolán tarchuir tosaithe.
Tasc Tuairiscí Ionchuir Thréimhsiúla HID
Chun bandaleithead a shábháil, tá an cumas ag an óstach tuairiscí a thostú ó chríochphointe cur isteach IN trí theorainn a chur leis an minicíocht tuairiscithe. Chun seo a dhéanamh, ní mór don óstach an t-iarratas SET_IDLE a sheoladh. Tá tasc inmheánach sa rang HID arna chur i bhfeidhm ag Silicon Labs a urramaíonn an teorainn minicíochta tuairiscithe is féidir leat a chur i bhfeidhm ar thuairisc ionchuir amháin nó ar roinnt tuarascálacha ionchuir. Taispeánann Fíor Tasc Tuairiscí Ionchuir Thréimhsiúla feidhmiú na dtascanna tuairiscí ionchuir thréimhsiúla.
Fíor – Tasc Tuairiscí Ionchuir Thréimhsiúla

(1) Faigheann an gléas iarratas SET_IDLE. Sonraíonn an iarratas seo fad díomhaointeachta do aitheantas tuairisce ar leith. Le haghaidh tuilleadh sonraí faoin iarratas SET_IDLE, féach
(2) Déantar struchtúr aitheantais tuarascála (a leithdháiltear le linn chéim thosaithe ranga HID) a nuashonrú leis an fad díomhaointeachta. Déantar cuntar fad díomhaointeachta a thosú leis an luach fad díomhaointeachta. Cuirtear struchtúr aitheantais na tuarascála isteach ag deireadh liosta nasctha ina bhfuil struchtúir aitheantais tuarascálacha ionchuir. Sloinntear luach an fhad díomhaointeachta in aonad 4-ms a thugann raon ó 4 go 1020 ms.

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

41/174

Tharview
Más lú an fad díomhaointe ná an t-eatramh vótála ag an gcríochphointe IN den chur isteach, gintear na tuarascálacha ag an eatramh vótála.
(3) Gach 4 ms, brabhsálann an tasc tuairisce ionchuir thréimhsiúil liosta aitheantóirí na dtuarascálacha ionchuir. Maidir le gach aitheantóir tuairisce ionchuir, déanann an tasc ceann amháin de dhá oibríocht fhéideartha. Meaitseálann fad na tréimhse tasc an t-aonad 4 ms a úsáidtear don tréimhse díomhaointe. Mura bhfuil aon iarratais SET_IDLE seolta ag an óstach, bíonn an liosta aitheantóirí tuairisce ionchuir folamh agus níl aon rud le próiseáil ag an tasc. Ní phróiseálann an tasc ach aitheantóirí tuairisce atá difriúil ó 0 agus a bhfuil tréimhse díomhaointe níos mó ná 0 acu.
(4) I gcás aitheantóir tuairisce ionchuir ar leith, fíoraíonn an tasc an bhfuil an tréimhse díomhaointe caite. Mura bhfuil an tréimhse díomhaointe caite, laghdaítear an cuntar agus ní sheoltar aon tuarascáil ionchuir chuig an óstach.
(5) Má tá an fad díomhaointe caite (is é sin, má tá an cuntar fad díomhaointe tar éis náid a bhaint amach), seoltar tuarascáil ionchuir chuig an óstach trí ghlaoch ar an bhfeidhm sl_usbd_hid_write_sync() tríd an gcríochphointe idirbhriste IN.
(6) Tagann na sonraí tuarascála ionchuir a sheolann an tasc ó mhaolán sonraí inmheánach atá leithdháilte do gach tuarascáil ionchuir a thuairiscítear sa tuairisc Tuarascála. Is féidir le tasc feidhmchláir glaoch ar an bhfeidhm sl_usbd_hid_write_sync() chun tuarascáil ionchuir a sheoladh. Tar éis na sonraí tuarascála ionchuir a sheoladh, déanann sl_usbd_hid_write_sync() an maolán inmheánach a bhaineann le haitheantas tuarascála ionchuir a nuashonrú leis na sonraí a seoladh díreach. Ansin, seolann an tasc tuarascálacha ionchuir tréimhsiúla na sonraí tuarascála ionchuir céanna i gcónaí tar éis gach tréimhse díomhaointis a bheith caite agus go dtí go ndéanann an tasc feidhmchláir na sonraí sa mhaolán inmheánach a nuashonrú. Tá meicníocht ghlasála éigin ann chun truailliú na sonraí aitheantais tuarascála ionchuir a sheachaint i gcás go dtarlaíonn modhnú ag an am cruinn tarchuir a dhéanann an tasc tuarascála ionchuir tréimhsiúil.

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

42/174

Tharview
Tharview
Aicme MSC Gléas USB
Gléas USB MSC Rang Tharview Riachtanais Acmhainní Ranga MSC Gléas USB ó Chroí-Chumraíocht Ranga MSC Gléas USB Treoir Chlársceidealaithe Ranga MSC Gléas USB Tiománaithe Stórála Ranga MSC Gléas USB
Déantar cur síos sa chuid seo ar an rang gléas stórála maise (MSC) a dtacaítear leis ag Gléas USB Silicon Labs. Is prótacal é MSC a chuireann ar chumas aistriú faisnéise idir gléas USB agus óstach. Is é an fhaisnéis atá á haistriú ná aon rud is féidir a stóráil go leictreonach, amhail cláir inrite, cód foinse, doiciméid, íomhánna, sonraí cumraíochta, nó téacs nó sonraí uimhriúla eile. Feictear an gléas USB mar mheán stórála seachtrach don óstach, rud a chuireann ar chumas aistriú files trí tharraingt agus scaoil.
A file sainmhíníonn an córas conas a fileTá na meáin stórála eagraithe. Ní éilíonn sonraíocht ranga stórála maise USB aon rud ar leith file córas le húsáid ar fheistí comhréireacha. Ina áit sin, soláthraíonn sé comhéadan simplí chun earnálacha sonraí a léamh agus a scríobh ag baint úsáide as an tsraith orduithe trédhearcach Chomhéadan Córas Ríomhaireachta Beag (SCSI). Dá bhrí sin, féadfaidh córais oibriúcháin an tiomántán USB a láimhseáil mar thiomántán crua, agus is féidir leo é a fhormáidiú le haon cheann file córas is maith leo.
Tacaíonn an rang gléas stórála maise USB le dhá phrótacal iompair, mar seo a leanas:
Iompar Rialaithe/Iompar Bulc/Idirbhriseadh (CBI) ar Iompar Bulc-Amháin (BOT) (a úsáidtear le haghaidh tiomántáin diosca bog amháin)
Cuireann an rang gléas stórála maise an tacar orduithe trédhearcach SCSI i bhfeidhm ag baint úsáide as an bprótacal BOT amháin, rud a chiallaíonn nach n-úsáidfear ach críochphointí mórchóir chun sonraí agus faisnéis stádais a tharchur. Tacaíonn an cur i bhfeidhm MSC le haonaid loighciúla iolracha.
Tá cur i bhfeidhm an MSC i gcomhréir leis na sonraíochtaí seo a leanas:
Sonraíocht Ranga Stórála Mais Bus Sraitheach Uilíoch Tharview, Athbhreithniú 1.3 5 Meán Fómhair, 2008. Iompar Bulk-Only Class Storage Mass Bus Sraitheach Uilíoch, Athbhreithniú 1.0 31 Meán Fómhair, 1999.
Gléas USB MSC aCl ss Tharview
Iarratais Ranga Chríochphointí Prótacail Comhéadan Córas Ríomhaireachta Beag (SCSI)
Prótacal
Sa chuid seo, pléifimid prótacal Iompair Bulk-Only (BOT) den Aicme Mass Storage. Tá trí rud sa phrótacal Iompair Bulk-Onlytagé:
An tIompar Ordaithe An tIompar Sonraí An tIompar Stádais
Seoltar orduithe stórála maise ón óstach trí struchtúr ar a dtugtar an Fillteán Bloc Ordaithe (CBW). Maidir le horduithe a bhfuil gá acu le hiompar sonraí...tage.g., déanfaidh an t-óstach iarracht an líon beart cruinn a sheoladh nó a fháil ón bhfeiste mar atá sonraithe ag réimsí faid agus brataí an CBW. Tar éis an iompair sonraítage, déanann an t-óstach iarracht Fillteán Stádas Ordaithe (CSW) a fháil ón bhfeiste ina sonraítear stádas an ordaithe chomh maith le haon iarmhar sonraí (más

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

43/174

Tharview
aon cheann). Maidir le horduithe nach n-áirítear iompar sonraí stage., déanann an t-óstach iarracht an CSW a fháil díreach tar éis don CBW a bheith seolta. Tá an prótacal mionsonraithe i bhFíor – Prótacal MSC.
Fíor – Prótacal MSC

Críochphointí
Ar thaobh na feiste, i gcomhréir leis an tsonraíocht BOT, tá na críochphointí seo a leanas sa MSC: Péire críochphointí rialaithe ISTEACH agus OUIT ar a dtugtar an críochphointe réamhshocraithe. Péire críochphointí mórchóir ISTEACH agus OUIT.
Léiríonn an tábla thíos na húsáidí éagsúla a bhaintear as na críochphointí.
Tábla – Úsáid Chríochphointe MSC

Críochphointe
Rialú ISTEACH Rialú AMACH Bulc ISTEACH Bulc AMACH

Treo
Gléas go hÓstach Óstach go Gléas Gléas go hÓstach Óstach go Gléas

Úsáid
Iarratais ar áireamh agus ar iarratais ar leith don rang MSC Iarratais ar áireamh agus ar iarratais ar leith don rang MSC Seol CSW agus sonraí Faigh CBW agus sonraí

Iarratais Ranga
Tá dhá iarratas rialaithe sainithe ann don phrótacal MSC BOT. Tá na hiarratais seo agus a gcur síos mionsonraithe sa tábla thíos.

Tábla – Iarratais ar Rang Stórála Mais

Iarratais Ranga
Athshocrú Stórála Mais Bulc-Amháin

Cur síos
Úsáidtear an iarratas seo chun an gléas stórála maise agus a chomhéadan gaolmhar a athshocrú. Ullmhaíonn an t-iarratas seo an gléas chun an chéad bhloc ordaithe eile a fháil.

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

44/174

Tharview

Iarratais Ranga

Cur síos

Faigh Uasmhéid Úsáidtear an iarratas seo chun an uimhir aonaid loighciúil (LUN) is airde a thacaíonn an gléas leis a thabhairt ar ais. Mar shamplaample, a

LUN

Cuirfidh gléas le LUN 0 agus LUN 1 luach 1 ar ais. Cuirfidh gléas le haonad loighciúil aonair 0 ar ais nó cuirfidh sé stop leis an

iarratas. Is é 15 an luach uasta is féidir a thabhairt ar ais.

Comhéadan Córas Ríomhaireachta Beag SCSI

Ag leibhéal an chomhéadain ríomhchlárúcháin, cuireann an gléas MSC ceann de na prótacail chumarsáide meán stórála caighdeánacha i bhfeidhm, cosúil le SCSI agus SFF-8020i (ATAPI). Sonraíonn an “Chomhéadan Ríomhchlárúcháin” cén prótacal atá curtha i bhfeidhm, agus cuidíonn sé leis an gcóras oibriúcháin óstach an tiománaí gléas oiriúnach a luchtú chun cumarsáid a dhéanamh leis an ngléas stórála USB. Is é SCSI an prótacal is coitianta a úsáidtear le gléasanna stórála USB MSC. Soláthraímid cur i bhfeidhm do fho-aicme MSC SCSI ar féidir lenár n-úsáideoirí GSDK a úsáid as an tús.
Is sraith caighdeán é SCSI chun cumarsáid a láimhseáil idir ríomhairí agus gléasanna imeallacha. Áirítear leis na caighdeáin seo orduithe, prótacail, comhéadain leictreacha agus comhéadain optúla. Úsáideann gléasanna stórála a úsáideann comhéadain crua-earraí eile, amhail USB, orduithe SCSI chun faisnéis faoi ghléasanna/óstach a fháil agus oibriú na feiste a rialú agus bloic sonraí a aistriú sna meáin stórála.
Clúdaíonn orduithe SCSI raon leathan cineálacha agus feidhmeanna gléasanna agus dá bhrí sin, teastaíonn fo-thacar de na horduithe seo ó ghléasanna. Go ginearálta, tá na horduithe seo a leanas riachtanach le haghaidh cumarsáide bunúsaí:
FIOSRÚCHÁN CUMAS LÉITHEACHA (10) LÉIGH (10) IARRADH BRAITHE TÁSTÁLA AONAD RÉIDH SCRÍOBH (10)
Riachtanais Acmhainní Ranga MSC Gléas USB ó Core

Gach uair a chuireann tú sampla den rang MSC le cumraíocht USB tríd an bhfeidhm sl_usbd_msc_add_to_configuration(), leithdháilfear na hacmhainní seo a leanas ón gcroílár.

Acmhainn
Comhéadain Comhéadain mhalartacha Críochphointí Grúpaí comhéadain

Cainníocht
1 1 2 0

Tabhair faoi deara go bhfuil na huimhreacha sin de réir na cumraíochta. Agus luachanna cumraíochta SL_USBD_INTERFACE_QUANTITY, SL_USBD_ALT_INTERFACE_QUANTITY, SL_USBD_INTERFACE_GROUP_QUANTITY agus SL_USBD_DESCRIPTOR_QUANTITY á mbunú agat, ná déan dearmad a chur san áireamh cé mhéad cumraíocht a chuirfear leis an rang. Maidir leis an luach cumraíochta SL_USBD_OPEN_ENDPOINTS_QUANTITY, ós rud é nach n-osclaítear críochphointí ach amháin nuair a shocraíonn an t-óstach cumraíocht, ní gá duit ach líon na gcríochphointí atá riachtanach le haghaidh sampla ranga a chur san áireamh.
Cumraíocht Ranga MSC Gléas USB

Úsáidtear dhá ghrúpa paraiméadair chumraíochta chun an rang MSC a chumrú:
Cumraíochtaí Sonracha don Fheidhmchlár Gléas USB Aicme MSC Cumraíocht Aonaid Loighciúil
Cumraíochtaí Feidhmchláir Shonracha Gléas USB Aicme MSC

Cumraíochtaí Am Tiomsaithe Ranga Cruthú Cás Ranga

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

45/174

Tharview

Cumraíochtaí Ama Tiomsaithe Ranga
Is féidir rang MSC agus fo-rang SCSI Gléas USB Silicon Labs a chumrú ag am tiomsaithe trí #defines atá suite sa sl_usbd_core_config.h file.
Tábla – Tairiseacha Cumraíochta Ginearálacha

Ainm Cumraíochta

Cur síos

SL_USBD_MSC_CLASS_INST Líon na gcásanna ranga a leithdháilfidh tú trí ghlao ar an bhfeidhm

ANCE_QUANTITY

sl_usbd_msc_scsi_create_instance().

SL_USBD_MSC_CONFIGURA Uimhir na cumraíochta ar féidir sampla ranga a chur leis trí ghlao ar an

CAINNIÚINT

feidhm sl_usbd_msc_scsi_add_to_configuration().

SL_USBD_MSC_LUN_QUANT Líon na n-aonad loighciúil in aghaidh an ranga a chuirfidh tú leis trí ghlao chuig an

ITY

feidhm sl_usbd_msc_scsi_lun_add().

SL_USBD_MSC_SCSI_64_BIT Cumasaíonn nó díchumasaíonn sé tacaíocht do Sheoladh Bloic Lógach (LBA) 64 giotán.
_LBA_EN

SL_USBD_MSC_DATA_BUFF Méid an mhaoláin sonraí in aghaidh an ranga i mbéiteanna ER_SIZE

Luach Réamhshocraithe
2
1
2
0
512

Cruthú Cás Ranga
Déantar cás ranga MSC SCSI Gléas USB a chruthú trí ghlaoch ar an bhfeidhm sl_usbd_msc_scsi_create_instance(). Glacann an fheidhm seo argóint chumraíochta amháin a bhfuil cur síos air thíos.
p_scsi_callbacks
Is pointeoir chuig struchtúr cumraíochta de chineál sl_usbd_msc_scsi_callbacks é p_scsi_callbacks. Chomh maith leis an ngnáthrang gléasanna usb glaonna siar connect/disconnect, soláthraíonn sé sraith feidhmeanna glaonna siar roghnacha don rang MSC a ghlaoitear orthu nuair a tharlaíonn teagmhas ar an aonad loighciúil. Is féidir pointeoir nialasach (NULL) a chur chuig an argóint seo mura bhfuil aon ghá le glaonna siar.
Déantar cur síos sa tábla thíos ar gach réimse cumraíochta atá ar fáil sa struchtúr cumraíochta seo.
Tábla – Struchtúr Cumraíochta sl_usbd_msc_scsi_callbacks_t

Réimsí

Cur síos

cumasaigh

Glaoitear air nuair a bhíonn an rang USB cumasaithe go rathúil.

.disable Glaoitear air nuair a bhíonn an rang USB díchumasaithe.

.host_eject Feidhm a ghlaoitear nuair a dhíchuirtear aonad loighciúil as an óstach.

Síniú Feidhme
neamhní 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);

Cumraíocht Aonaid Loighciúil Ranga MSC Gléas USB

Déantar aonad loighciúil a chur le cás ranga MSC tríd an bhfeidhm sl_usbd_msc_lun_add() a ghlaoch. Glacann an fheidhm seo argóint chumraíochta amháin a bhfuil cur síos air thíos.

eolas_p_lu

Is pointeoir chuig struchtúr de chineál sl_usbd_msc_scsi_lun_info_t é p_lu_info. Is é an cuspóir atá leis ná an fhaisnéis faoin aonad loighciúil a sholáthar don rang MSC.
Déantar cur síos sa tábla thíos ar gach réimse cumraíochta atá ar fáil sa struchtúr cumraíochta seo.

Tábla – Struchtúr Cumraíochta sl_usbd_msc_scsi_lun_info_t

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

46/174

Tharview

Réimse

Cur síos

Réimse
.scsi_lun_api_p tr

Cur síos
Pointeoir chuig an API tiománaí meán a láimhseálfaidh an t-aonad loighciúil seo. Féach Tiománaithe Stórála Aicme MSC Gléas USB le haghaidh tuilleadh eolais faoi thiománaithe stórála.

.ve agus nó r_id _ p tr
.ptr_id_táirge
.leibhéal_athbhreithnithe_táirge .léamh_amháin

Pointeoir chuig teaghrán ina bhfuil aitheantas díoltóra an aonaid loighciúil. Is é 8 gcarachtar fad uasta an teaghráin. Pointeoir chuig teaghrán ina bhfuil aitheantas táirge an aonaid loighciúil. Is é 16 charachtar fad uasta an teaghráin. Leibhéal athbhreithnithe táirge.
Bratach a léiríonn an bhfeicfear an t-aonad loighciúil mar aonad inléite amháin ó thaobh an view den óstach (fíor) nó nach ea (bréagach).

Treoir Chlársceidealaithe Aicme MSC Gléas USB

Mínítear sa chuid seo conas an rang MSC a úsáid.
Ag Tosú Rang MSC Gléas USB Ag Cur Cás Rang SCSI Gléas USB le do Ghléas Láimhseáil Aonaid Loighciúla Rang MSC Gléas USB
Ag Tosú Rang MSC an Ghléas USB

Chun feidhmiúlacht ranga MSC SCSI a chur le do ghléas, cuir tús leis an rang bonn MSC agus leis an bhfo-rang SCSI ar dtús trí ghlaoch ar an bhfeidhm sl_usbd_msc_init() agus sl_usbd_msc_scsi_init().
An seanampTaispeánann an le thíos conas sl_usbd_msc_init() agus sl_usbd_msc_scsi_init() a ghlaoch.

Example – Ag glaoch ar sl_usbd_msc_init() agus sl_usbd_msc_scsi_init()

sl_status_t stádas;
stádas = sl_usbd_msc_init(); má tá (stádas ! SL_STATUS_OK) { /* Tharla earráid. Ba chóir láimhseáil earráide a chur leis anseo. */
}
stádas = sl_usbd_msc_scsi_init(); má tá (stádas ! SL_STATUS_OK) { /* Tharla earráid. Ba chóir láimhseáil earráide a chur leis anseo. */
}
Ag cur Aicme MSC SCSI de Ghléas USB le do Ghléas
Chun feidhmiúlacht ranga MSC SCSI a chur le do ghléas, cruthaigh sampla ar dtús, agus ansin cuir le cumraíocht(aí) do ghléis é. Ní mór duit aonad loighciúil amháin ar a laghad a chur le do shampla.
Ag cruthú Cás Ranga MSC SCSI
Cruthaigh cás den rang MSC SCSI trí ghlaoch ar an bhfeidhm sl_usbd_msc_scsi_create_instance().
An seanampTaispeánann an leathanach thíos conas sl_usbd_msc_scsi_create_instance() a ghlaoch ag baint úsáide as argóintí réamhshocraithe. Le haghaidh tuilleadh eolais faoi na hargóintí cumraíochta atá le cur chuig sl_usbd_msc_scsi_create_instance(), féach Cumraíochtaí Sonracha Feidhmchláir Ranga MSC Gléas USB.
Example – Ag glaoch ar sl_usbd_ msc_scsi_create_instance()

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

47/174

Tharview

uint8_t uimhir_aicme; sl_status_t stádas;
sl_usbd_msc_scsi_callbacks_t app_usbd_msc_scsi_callbacks = { .enable = NULL, .disable = NULL, .host_eject = NULL };
stádas = sl_usbd_msc_scsi_create_instance(&app_usbd_msc_scsi_callbacks,0 &class_nbr);
má tá (stádas ! SL_STATUS_OK) { /* Tharla earráid. Ba chóir láimhseáil earráide a chur leis anseo. */ }
Ag cur an Aicme MSC le Cumraíocht(aí) do Ghléis
Tar éis duit cás ranga MSC a chruthú, is féidir leat é a chur le cumraíocht tríd an bhfeidhm a ghlaoch
sl_usbd_msc_cuir_le_cumraíocht().
An seanampTaispeánann an le thíos conas sl_usbd_msc_scsi_add_to_configuration() a ghlaoch ag baint úsáide as argóintí réamhshocraithe.
Example – Ag glaoch ar sl_usbd_ msc_scsi_add_to_configuration()

sl_status_t stádas;

stádas = sl_usbd_msc_scsi_add_to_configuration(aicme_uimhir,

(1)

cumraíocht_nbr_fs);

(2)

má tá (stádas ! SL_STATUS_OK) {

/* Tharla earráid. Ba chóir láimhseáil earráide a chur leis anseo. */

}

(1) Uimhir na ranga le cur leis an gcumraíocht a chuirtear ar ais le sl_usbd_msc_scsi_create_instance(). (32) Uimhir chumraíochta (á cur le cumraíocht Lánluais anseo).
Láimhseáil Aonaid Loighciúil Ranga MSC Gléas USB
Aonad Lóigciúil a Chur Leis Meán Stórála a Cheangal/a Dhícheangal
Aonad Lóchúil á Chur Leis
Agus aonad loighciúil á chur le d’aicme MSC SCSI, ní mór é a cheangal le meán stórála (RAMDisk, cárta SD, cuimhne flash, srl.). Úsáideann an rang MSC tiománaí stórála chun cumarsáid a dhéanamh leis na meáin stórála. Beidh ort an tiománaí seo a sholáthar agus an t-aonad loighciúil á chur leis.
An seanampTaispeánann an le thíos conas aonad loighciúil a chur leis trí sl_usbd_msc_scsi_lun_add().
Example – Aonad Lóchúil á Chur Leis trí sl_usbd_msc_scsi_lun_add()

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

48/174

Tharview

sl_usbd_msc_scsi_lun_t *lu_object_ptr = NULL;

sl_usbd_msc_scsi_lun_info_t lu_info;

sl_status_t

stádas;

lu_info.sl_usbd_msc_scsi_lun_api_t = &app_usbd_scsi_storage_block_device_api;

lu_info.vendor_id_ptr

= “Saotharlanna Sileacain”;

lu_info.product_id_ptr

= “gléas blocála example”;

leibhéal_athbhreithnithe_táirge lu_info. = 0x1000u;

lu_info.is_léamh_amháin

= bréagach;

stádas = sl_usbd_msc_scsi_lun_add(uimhir_aicme, &lu_info, &lu_object_ptr);
má tá (stádas ! SL_STATUS_OK) { /* Tharla earráid. Ba chóir láimhseáil earráide a chur leis anseo. */ }

Meán Stórála a Cheangal/a Dhícheangal
Tar éis an t-aonad loighciúil a chur leis, ní mór meán stórála a cheangal le go mbeidh sé ar fáil ón taobh óstach. Cuireann an rang MSC dhá fheidhm ar fáil chun an bhaint meán stórála leis an aonad loighciúil a rialú: sl_usbd_msc_scsi_lun_attach() agus sl_usbd_msc_scsi_lun_detach(). Ligeann na feidhmeanna seo duit baineadh gléis stórála a aithris chun rochtain a fháil ar ais ón bhfeidhmchlár leabaithe más gá.
An seanampTaispeánann an leathanach thíos conas na feidhmeanna sl_usbd_msc_scsi_lun_attach() agus sl_usbd_msc_scsi_lun_detach() a úsáid.
Example – Ceangail/Dícheangail na Meáin

sl_status_t stádas;

stádas = sl_usbd_msc_scsi_lun_attach(lu_object_ptr); má tá (stádas ! SL_STATUS_OK) { /* Tharla earráid. Ba chóir láimhseáil earráide a chur leis anseo. */
}

(1)

stádas = sl_usbd_msc_scsi_lun_detach(lu_object_ptr); má tá (stádas ! SL_STATUS_OK) {
/* Tharla earráid. Ba chóir láimhseáil earráide a chur leis anseo. */
}

(2)

stádas = sl_usbd_msc_scsi_lun_attach(lu_object_ptr) má tá (stádas ! SL_STATUS_OK) {
/* Tharla earráid. Ba chóir láimhseáil earráide a chur leis anseo. */
}

(3)

(1) Ón nóiméad seo ar aghaidh, má tá an gléas MSC ceangailte le hóstach, beidh rochtain ar na meáin stórála.
(2) Má tá an gléas MSC ceangailte le hóstach, feicfear na meáin anois mar nach bhfuil siad ar fáil. Ag an nóiméad seo, is féidir oibríochtaí a dhéanamh ar na meáin ón bhfeidhmchlár leabaithe.
(3) Arís, má tá an gléas MSC ceangailte leis an óstach, feicfear go bhfuil na meáin stórála ceangailte.
Tiománaithe Stórála Aicme MSC Gléas USB
Teastaíonn tiománaí stórála ón Aicme Gléas USB MSC chun cumarsáid a dhéanamh le meán stórála. Faoi láthair, ní thairgeann Silicon Labs tiománaithe.

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

49/174

Tharview
Sainmhínítear AI an tiománaí le typedef sl_usbd_msc_scsi_lun_api_t. Ní mór ár sl_usbd_msc_scsi_lun_api_t v ri ble a áireamh chun do sl_usbd_msc_scsi_lun_info_t v ri ble aaaaaaa, agus cuirtear argóint leis nuair a chuireann tú aonad loighce le sl_usbd_msc_scsi_lun_add(). Féach an rannán Gléas USB MSC SCSI API le haghaidh tuilleadh sonraí faoi na struchtúir. Is féidir cur i bhfeidhm an tiománaí stórála a bheith chomh simplí le sraith earnálacha i RAM. Is é 512 méid tipiciúil na hearnála (i.e., méid an bhloic) le haghaidh gléasanna maise stórála, agus 2048 le haghaidh CD-ROManna.

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

50/174

Tharview
Tharview
Aicme Díoltóra Gléas USB
Rang Díoltóir Gléas USB Tharview Riachtanais Acmhainní Rang Díoltóra Gléas USB ó Chroí-Chumraíocht Rang Díoltóra Gléas USB Treoir Chlársceidealaithe Rang Díoltóra Gléas USB Ligeann an rang Díoltóra duit gléasanna sainiúla díoltóra a thógáil ar féidir leo prótacal dílseánaigh a chur i bhfeidhm. Braitheann sé ar phéire críochphointí mórchóir chun sonraí a aistriú idir an t-óstach agus an gléas. Tá aistrithe mórchóir áisiúil chun méideanna móra sonraí neamhstruchtúrtha a aistriú agus soláthraíonn siad malartú iontaofa sonraí trí mheicníocht braite earráide agus athiarrachta a úsáid. Chomh maith le críochphointí mórchóir, is féidir leis an rang Díoltóra péire roghnach críochphointí cur isteach a úsáid freisin. Is féidir le haon chóras oibriúcháin (OS) oibriú leis an rang Díoltóra ar choinníoll go bhfuil tiománaí ag an OS chun an rang Díoltóra a láimhseáil. Ag brath ar an OS, is féidir leis an tiománaí a bheith dúchasach nó sainiúil don díoltóir. Mar shampla, faoi Microsoft Windows®, idirghníomhaíonn d'fheidhmchlár leis an tiománaí WinUSB a sholáthraíonn Microsoft chun cumarsáid a dhéanamh leis an ngléas díoltóra.
Rang Díoltóir Gléas USB Tharview
Léiríonn Fíor – Ailtireacht Ghinearálta idir Óstach Windows agus Rang Díoltóra an ailtireacht ghinearálta idir an t-óstach agus an gléas ag baint úsáide as an rang Díoltóra. Sa sampla seoample, is é MS Windows an córas oibriúcháin óstach.
Fíor – Ailtireacht Ghinearálta idir Óstach MS Windows agus Rang Díoltóra

Ar thaobh MS Windows, cumarsáidíonn an feidhmchlár leis an bhfeiste díoltóra trí idirghníomhú le leabharlann USB. Cuireann leabharlanna, cosúil le libusb, API ar fáil chun feiste agus a phíobáin ghaolmhara a bhainistiú, agus chun cumarsáid a dhéanamh leis an bhfeiste trí chríochphointí rialaithe, mórchóir agus cur isteach.
Ar thaobh na feiste, tá na críochphointí seo a leanas sa rang Díoltóir:
Péire críochphointí rialaithe ISTEACH agus AMACH ar a dtugtar an críochphointe réamhshocraithe. Péire críochphointí mórchóir ISTEACH agus AMACH.

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

51/174

Tharview

Péire críochphointí cur isteach ISTEACH agus AMACH. Is roghnach an péire seo. Léiríonn an tábla thíos úsáid na gcríochphointí éagsúla:
Tábla – Úsáid Chríochphointí Ranga Díoltóra

Treo an Chríochphointe

Rialú IN
Rialú
AMACH
Bulc ISTEACH

Gléas-go-óstach
>Óstach-go-gléas
Gléas-go-óstach

Bulc AMACH
Idirbhriseadh ISTEACH
Cur isteach
AMACH

Óstach go gléas
Gléas-go-óstach
Óstach go gléas

Úsáid
Iarratais chaighdeánacha le haghaidh áirimh agus iarratais shonracha do dhíoltóirí.
Iarratais chaighdeánacha le haghaidh áirimh agus iarratais shonracha do dhíoltóirí.
Cumarsáid sonraí amh. Is féidir sonraí a struchtúrú de réir prótacal dílseánaigh.
Cumarsáid sonraí amh. Is féidir sonraí a struchtúrú de réir prótacal dílseánaigh.
Cumarsáid nó fógra sonraí amha. Is féidir sonraí a struchtúrú de réir prótacail dílseánaigh. Cumarsáid nó fógra sonraí amha. Is féidir sonraí a struchtúrú de réir prótacail dílseánaigh.

Is féidir leis an bhfeidhmchlár gléis críochphointí mórchóir agus cur isteach a úsáid chun sonraí a sheoladh chuig an óstach nó a fháil uaidh. Ní féidir leis ach an críochphointe réamhshocraithe a úsáid chun iarratais shonracha díoltóra arna seoladh ag an óstach a dhíchódú. Déantar na hiarratais chaighdeánacha a bhainistiú go hinmheánach ag an tsraith Chroí de Ghléas USB Silicon Labs.
Riachtanais Acmhainní Ranga Díoltóra Gléas USB ó Core

Gach uair a chuireann tú cás ranga díoltóra le cumraíocht tríd an bhfeidhm sl_usbd_vendor_add_to_configuration(), leithdháilfear na hacmhainní seo a leanas ón gcroílár.

Acmhainn
Comhéadain Comhéadain mhalartacha Críochphointí Grúpaí comhéadain

Cainníocht
1 1 2 (4 má chuir tú críochphointí cur isteach ar chumas) 0

Tabhair faoi deara go bhfuil na huimhreacha sin de réir na cumraíochta. Agus luachanna cumraíochta SL_USBD_INTERFACE_QUANTITY, SL_USBD_ALT_INTERFACE_QUANTITY, SL_USBD_INTERFACE_GROUP_QUANTITY agus SL_USBD_DESCRIPTOR_QUANTITY á mbunú agat, ná déan dearmad a chur san áireamh cé mhéad cumraíocht a chuirfear leis an rang. Maidir leis an luach cumraíochta SL_USBD_OPEN_ENDPOINTS_QUANTITY, ós rud é nach n-osclaítear críochphointí ach amháin nuair a shocraíonn an t-óstach cumraíocht, ní gá duit ach líon na gcríochphointí atá riachtanach le haghaidh sampla ranga a chur san áireamh.
Cumraíocht Rang Díoltóra Gléas USB

Úsáidtear dhá ghrúpa paraiméadair chumraíochta chun an rang Díoltóir a chumrú:
Cumraíochtaí Sonracha d'Fheidhmchláir Rang Díoltóir Gléas USB Cumraíochtaí Cás Rang Díoltóir Gléas USB
Cumraíochtaí Sonracha d'Fheidhmchláir Rang Díoltóra Gléas USB
Ar dtús, chun modúl ranga Díoltóir gléas USB Silicon Labs a úsáid, coigeartaigh sainmhínithe chumraíochta am tiomsaithe an Díoltóra de réir riachtanais d'fheidhmchláir. Tá siad athghrúpáilte taobh istigh den cheanntásc sl_usbd_core_config.h. file faoin rannán Díoltóir. Is é cuspóir na gcumraíochtaí cainníochta ná an modúl gléas USB a chur ar an eolas faoi líon na réad Díoltóra USB atá le leithdháileadh.
Déantar cur síos ar gach sainmhíniú cumraíochta sa tábla thíos.

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

52/174

Tharview

Tábla – Sainmhíníonn Cumraíocht Díoltóir Gléas USB

Ainm Cumraíochta

Cur síos

Luach Réamhshocraithe

SL_USBD_VENDOR_CLASS_INSTANCE_QUANTITY Líon na gcásanna ranga a leithdháilfidh tú trí ghlao chuig an bhfeidhm 2 sl_usbd_vendor_create_instance().

SL_USBD_VENDOR_CONFIGURATION_QUANTITY Líon na gcumraíochtaí. Is féidir samplaí ranga díoltóra a chur le cumraíocht amháin nó níos mó trí ghlao ar an bhfeidhm sl_usbd_vendor_add_to_configuration().

Cumraíochtaí Aicme Díoltóir Gléas USB

Sainmhíníonn an chuid seo na cumraíochtaí a bhaineann leis na samplaí ranga Vendor.
Cruthú Cás Ranga intr_en eatramh p_vendor_callbacks
Cruthú Cás Ranga

Déantar cás den rang Vendor a chruthú tríd an bhfeidhm sl_usbd_vendor_create_instance() a ghlaoch, a ghlacann trí argóint chumraíochta a bhfuil cur síos orthu thíos.

intr_en
Booleánach a léiríonn ar cheart péire críochphointí cur isteach a chur leis nó nach ceart.

Luach
fíor bréagach

Cur síos
Cuirfear péire críochphointí ISTEACH/AMACH leis agus beidh siad ar fáil don fheidhmchlár leabaithe. Ní chuirfear aon chríochphointe cur isteach leis. Ní bheidh ach péire críochphointí mórchóir ISTEACH/AMACH ar fáil.

eatramh
Má shocraíonn tú intr_en go fíor, is féidir leat an t-eatramh vótála do chríochphointí cur isteach a shonrú (i milleasoicindí). Má shocraíonn tú intr_en go bréagach, is féidir leat an t-eatramh a shocrú go 0 mar go ndéanfaidh an rang neamhaird air.
aisghlao_díoltóra_p
Is pointeoir é p_vendor_callbacks chuig athróg struchtúir feidhmeanna athghlaoite. Is féidir leat a shonrú chun déileáil leis na hiarratais rialaithe atá sonrach don rang. Mura n-úsáideann tú aon iarratais atá sonrach don rang nó más gá duit fógra a chumasú/a dhíchumasú, is féidir leat é seo a shocrú go NULL.
An seanampSoláthraíonn an le thíos an síniú a bhfuiltear ag súil leis ó do láimhseálaí iarratais ar leith don rang.
Example – Síniú Feidhme Iarratais Sonrach don Rang

neamhní app_usbd_vendor_req_handle(uint8_t

uimhir_aicme, (1)

const sl_usbd_setup_req_t *p_setup_req); (2)

sl_usbd_vendor_callbacks_t feidhmchláir_usbd_vendor_callback =
{
.cumasaigh = NULL, .díchumasaigh = NULL, .setup_req = app_usbd_vendor_req_handle,
};

(1) Uimhir shampla ranga an díoltóra.

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

53/174

Tharview

(2) Pointeoir chuig iarratas socraithe a fuarthas ón óstach.
Treoir Chlársceidealaithe Rang Díoltóir Gléas USB
Mínítear sa chuid seo conas an rang Díoltóir a úsáid. Túsú Rang Díoltóra Gléas USB Cás Rang Díoltóra Gléas USB a chur le do Ghléas Cumarsáid a dhéanamh ag baint úsáide as Rang Díoltóra Gléas USB
Ag Tosú Rang Díoltóra Gléas USB
Chun feidhmiúlacht Rang Díoltóra a chur le do ghléas, cuir tús leis an rang ar dtús tríd an bhfeidhm USBD_Vendor_Init() a ghlaoch. An t-eiseamláirampTaispeánann an le thíos conas sl_usbd_vendor_init() a ghlaoch.
Example – Ag glaoch ar sl_usbd_vendor_init()

sl_status_t stádas;
stádas = sl_usbd_vendor_init(); má tá (stádas ! SL_STATUS_OK) { /* Tharla earráid. Ba chóir láimhseáil earráide a chur leis anseo. */ }
Ag cur Aicme Díoltóra Gléas USB le do Ghléas
Chun feidhmiúlacht ranga díoltóra a chur le do ghléas, ní mór duit sampla a chruthú ar dtús, agus ansin é a chur le cumraíocht(aí) do ghléis.
Aiseagán Ranga Díoltóra a Chruthú Aiseagán Ranga an Díoltóra a Chur le Cumraíocht(aí) do Ghléis
Ag cruthú Cás Ranga Díoltóra
Cruthaigh cás den rang Vendor trí ghlaoch ar an bhfeidhm sl_usbd_vendor_create_instance().ampTaispeánann an le thíos conas sl_usbd_vendor_create_instance() a ghlaoch ag baint úsáide as argóintí réamhshocraithe. Le haghaidh tuilleadh eolais faoi na hargóintí cumraíochta atá le cur chuig sl_usbd_vendor_create_instance(), féach Cumraíochtaí Aicme Díoltóra Gléas USB.
Example – Ag glaoch ar sl_usbd_vendor_create_instance()

uint8_t uimhir_aicme; sl_status_t stádas;

stádas = sl_usbd_vendor_create_instance(bréagach,

(1)

0u,

(2)

feidhmeanna_aisghlao_díoltóra_app_usbd, (3)

&uimhir_aicme);

má tá (stádas ! SL_STATUS_OK) {

/* Tharla earráid. Ba chóir láimhseáil earráide a chur leis anseo. */

}

(1) Gan aon chríochphointí Idirbhrise leis an gcás ranga seo. (2) Déantar neamhaird den eatramh ós rud é go bhfuil críochphointí Idirbhrise díchumasaithe.

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

54/174

Tharview

(3) Feidhm athghlaoite atá mar chuid de d'fheidhmchlár a láimhseálann iarratais ranga atá sainiúil do dhíoltóirí. Féach Cumarsáid a dhéanamh ag baint úsáide as Rang Díoltóra Gléas USB le haghaidh tuilleadh eolais. An Cás Ranga Díoltóra a Chur le Cumraíocht(aí) do Ghléis Tar éis duit cás ranga díoltóra a chruthú, is féidir leat é a chur le cumraíocht trí ghlaoch ar an bhfeidhm USBD_Vendor_ConfigAdd(). An t-eis.ampTaispeánann an le thíos conas sl_usbd_vendor_add_to_configuration() a ghlaoch ag baint úsáide as argóintí réamhshocraithe.
Example – Ag glaoch ar sl_usbd_vendor_add_to_configuration()

sl_status_t stádas;

stádas = sl_usbd_vendor_add_to_configuration(aicme_uimhir,

(1)

cumraíocht_nbr_fs);

(2)

má tá (stádas ! SL_STATUS_OK) {

/* Tharla earráid. Ba chóir láimhseáil earráide a chur leis anseo. */

}

(1) Uimhir an ranga le cur leis an gcumraíocht a chuirtear ar ais le sl_usbd_vendor_create_instance(). (2) Uimhir chumraíochta (á cur le cumraíocht Lánluais anseo).
Cumarsáid a dhéanamh ag baint úsáide as an Aicme Díoltóra Gléas USB
Cumarsáid Shioncrónach Ghinearálta Cumarsáid Asioncrónach Iarratas Díoltóra Ginearálta Cuireann an rang Díoltóir na feidhmeanna seo a leanas ar fáil chun cumarsáid a dhéanamh leis an óstach. Le haghaidh tuilleadh sonraí faoi pharaiméadair na feidhme, féach API Díoltóra Gléas USB.
Tábla – Achoimre ar API Cumarsáide Díoltóirí

Ainm feidhme
sl_usb d _v e nd nó r_ léigh ad _b ulk_sy nc() sl_usb d _v e nd nó r_ scríobh _b ulk_sy nc() sl_usb d _v e nd nó r_ léigh ad _b ulk_asy nc() sl_usb d _v e nd nó r_ scríobh _b ulk_asy nc() sl_usb d _v e nd nó r_ léigh ad _inter rrup t_sy nc() sl_usb d _v e nd nó r_ scríobh _inter rrup t_sy nc() sl_usb d _v e nd nó r_ léigh ad _inter rrup t_asy nc
()
sl_usb d _v e nd o r_write _inte rrup t_asy nc
()

Operation Receives data from host through bulk OUT endpoint. This function is blocking. Sends data to host through bulk IN endpoint. This function is blocking. Receives data from host through bulk OUT endpoint. This function is non-blocking. Sends data to host through bulk IN endpoint. This function is non-blocking. Receives data from host through interrupt OUT endpoint. This function is blocking. Sends data to host through interrupt IN endpoint. This function is blocking. Receives data from host through interrupt OUT endpoint. This function is non-
blocáil.
Sends data to host through interrupt IN endpoint. This function is non-blocking.

The vendor requests are also another way to communicate with the host. When managing vendor requests sent by the host, the application can receive or send data from or to the host using the control endpoint; you will need to provide an application callback passed as a parameter of sl_usbd_vendor_create_instance() . Synchronous Communication

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

55/174

Tharview

Synchronous communication means that the transfer is blocking. When a function is called, the application blocks until the transfer completes with or without an error. A timeout can be specified to avoid waiting forever. The example below shows a read and write that receives data from the host using the bulk OUT endpoint and sends data to the host using the bulk IN endpoint.
Example – Synchronous Bulk Read and Write

__ALIGNED(4) uint8_t rx_buf[2];

__AILÍNITHE(4) uint8_t tx_buf[2];

uint32_t

xfer_len;

sl_status_t

stádas;

status = sl_usbd_vendor_read_bulk_sync(class_nbr,

(1)

(void *)&rx_buf[0],

(2)

2u,

0u,

(3)

&xfer_len);

má tá (stádas ! SL_STATUS_OK) {

/* $$$$ Déileáil leis an earráid. */

}

status = sl_usbd_vendor_write_bulk_sync( class_nbr,

(1)

(void *)&tx_buf[0],

(4)

2u,

0u,

(3)

false,

(5)

&xfer_len);

má tá (stádas ! SL_STATUS_OK) {

/* $$$$ Déileáil leis an earráid. */

}

(1) The class instance number created with sl_usbd_vendor_create_instance() provides an internal reference to the Vendor class to route the transfer to the proper bulk OUT or IN endpoint.
(2) The application must ensure that the buffer provided to the function is large enough to accommodate all the data. Otherwise, synchronization issues might happen.
(3) In order to avoid an infinite blocking situation, a timeout expressed in milliseconds can be specified. A value of 809 makes the application task wait forever.
(4) Soláthraíonn an feidhmchlár an maolán tarchuir tosaithe.
(5) If this flag is set to true , and the transfer length is multiple of the endpoint maximum packet size, the device stack will send a zero-length packet to the host to signal the end of the transfer.
The use of interrupt endpoint communication functions, sl_usbd_vendor_read_interrupt_sync() and sl_usbd_vendor_write_interrupt_sync() , is similar to bulk endpoint communication functions presented in Example – Synchronous Bulk Read and Write.
Cumarsáid Asincrónach
Asynchronous communication means that the transfer is non-blocking. When a function is called, the application passes the transfer information to the device stack and does not block. Other application processing can be done while the transfer is in progress over the USB bus. Once the transfer has completed, a callback function is called by the device stack to inform the application about the transfer completion. The example below shows asynchronous read and write.
Example – Asynchronous Bulk Read and Write

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

56/174

Tharview

void app_usbd_vendor_comm (uint8_t class_nbr)

{

__ALIGNED(4) uint8_t rx_buf[2];

__AILÍNITHE(4) uint8_t tx_buf[2];

sl_status_t

stádas;

status = sl_usbd_vendor_read_bulk_async(class_nbr,

(void *)&rx_buf[0],

(2)

2u,

app_usbd_vendor_rx_completed,

NULL);

(4)

má tá (stádas ! SL_STATUS_OK) {

/* $$$$ Déileáil leis an earráid. */

}

status = sl_usbd_vendor_write_bulk_async(class_nbr,

(void *)&tx_buf[0],

(5)

2u,

app_usbd_vendor_tx_completed,

NULLComment,

(4)

false);

(6)

má tá (stádas ! SL_STATUS_OK) {

/* $$$$ Déileáil leis an earráid. */

}

}

(1) (3)
(1) (3)

static void app_usbd_vendor_rx_completed(uint8_t class_nbr,

(3)

void *p_buf,

uint32_t buf_len,

uint32_t xfer_len,

void *p_callback_arg,

sl_status_t status)

{

má tá (stádas ! SL_STATUS_OK) {

/* $$$$ Do some processing. */

} eile {

/* $$$$ Déileáil leis an earráid. */

}

}

static void app_usbd_vendor_tx_completed(uint8_t class_nbr,

(3)

void *p_buf,

uint32_t buf_len,

uint32_t xfer_len,

void *p_callback_arg,

sl_status_t status)

{

má tá (stádas ! SL_STATUS_OK) {

/* $$$$ Do some processing. */

} eile {

/* $$$$ Déileáil leis an earráid. */

}

}

(1) The class instance number provides an internal reference to the Vendor class to route the transfer to the proper bulk OUT or IN endpoint. (2) The application must ensure that the buffer provided is large enough to accommodate all the data. Otherwise, there may be synchronization issues. (3) The application provides a callback function pointer passed as a parameter. Upon completion of the transfer, the device stack calls this callback function so that the application can finalize the transfer by analyzing the transfer result. For instance, on completion of a read operation, the application might perform processing on the received data. Upon write completion, the application can indicate if the write was successful and how many bytes were sent.

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

57/174

Tharview
(4) An argument associated with the callback can be also passed. Then in the callback context, some private information can be retrieved. (5) The application provides the initialized transmit buffer. (6) If this flag is set to true , and the transfer length is a multiple of the endpoint maximum packet size, the device stack will send a zero-length packet to the host to signal the end of transfer. The use of interrupt endpoint communication functions, sl_usbd_vendor_read_interrupt_async() and sl_usbd_vendor_write_interrupt_async() , is similar to the bulk endpoint communication functions presented in Example Asynchronous Bulk Read and Write.
Vendor Request
The USB 2.0 specification defines three types of requests: standard, class, and vendor. All standard requests are handled directly by the core layer, while class requests are managed by the proper associated class. Vendor requests can be processed by the vendor class. To process vendor requests, you must provide an application callback as a parameter of sl_usbd_vendor_create_instance() . After a vendor request is received by the USB device, it must be decoded properly. The example below shows vendor request decoding. Certain requests may be required to receive from or send to the host during the data stage of a control transfer. If no data stage is present, you only have to decode the Setup packet. This example shows the three types of data stage management: no data, data OUT and data IN.
Example – Vendor Request Decoding

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

58/174

Tharview

#define APP_VENDOR_REQ_NO_DATA

0x01u

#define APP_VENDOR_REQ_RECEIVE_DATA_FROM_HOST 0x02u

#define APP_VENDOR_REQ_SEND_DATA_TO_HOST 0x03u

#define APP_VENDOR_REQ_DATA_BUF_SIZE

50u

static uint8_t app_vendor_req_buf[APP_VENDOR_REQ_DATA_BUF_SIZE];

static bool app_usbd_vendor_req (uint8_t

class_nbr,

const sl_usbd_setup_req_t *p_setup_req)

(1)

{

bool valid;

sl_status_t stádas;

uint16_t req_len;

uint32_t xfer_len;

(void)class_nbr;

switch(p_setup_req->bRequest) { case APP_VENDOR_REQ_NO_DATA: valid = true; break;

(2) (3)

case APP_VENDOR_REQ_RECEIVE_DATA_FROM_HOST:

(4)

req_len = p_setup_req->wLength;

if (req_len > APP_VENDOR_REQ_DATA_BUF_SIZE) {

// Not enough room to receive data.

return (false);

}

// Receive data via Control OUT EP. // Wait transfer completion forever. status = sl_usbd_core_read_control_sync((void *)&app_vendor_req_buf[0u],
req_len, 0u, &xfer_len); if (status ! SL_STATUS_OK) { valid = false; } else { valid = true; } break;

case APP_VENDOR_REQ_SEND_DATA_TO_HOST:

(5)

req_len = APP_VENDOR_REQ_DATA_BUF_SIZE;

// Fill buf with a pattern. Mem_Set((void *)&AppVendorReqBuf[0u],
'A',
req_len);

// Send data via Control IN EP. // Wait transfer completion forever. status = sl_usbd_core_write_control_sync((void *)&app_vendor_req_buf[0u],
req_len, 0u, false, &xfer_len); if (status ! SL_STATUS_OK) { valid = DEF_FAIL; } else { valid = DEF_OK; } break;

réamhshocraithe:

(6)

// Request is not supported.

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

59/174

Tharview

valid =true;break;
case APP_VENDOR_REQ_RECEIVE_DATA_FROM_HOST:(4) req_len = p_setup_req->wLength;if(req_len > APP_VENDOR_REQ_DATA_BUF_SIZE){// Not enough room to receive data.return(false);}// Receive data via Control OUT EP.// Wait transfer completion forever. status =sl_usbd_core_read_control_sync((void *)&app_vendor_req_buf[0u],
req_len,0u,&xfer_len);if(status ! SL_STATUS_OK){ valid =false;}else{ valid =true;}break;
case APP_VENDOR_REQ_SEND_DATA_TO_HOST:(5) req_len = APP_VENDOR_REQ_DATA_BUF_SIZE;// Fill buf with a pattern.Mem_Set((void *)&AppVendorReqBuf[0u],’A’,
req_len);// Send data via Control IN EP.// Wait transfer completion forever. status =sl_usbd_core_write_control_sync((void *)&app_vendor_req_buf[0u],
req_len,0u,false,&xfer_len);if(status ! SL_STATUS_OK){ valid = DEF_FAIL;}else{ valid = DEF_OK;}break;
default:(6)// Request is not supported. valid = DEF_FAIL;break;}return(valid);}

(1) The core will pass the Setup packet content to your application. The structure sl_usbd_setup_req_t contains the same fields as defined by the USB 2.0 specification (refer to section “9.3 USB Device Requests” of the specification for more details):

clóscríobh struchtúr {

uint8_t bmRequestType; /* Characteristics of request.

*/

uint8_t bRequest; /* Specific request.

*/

uint16_t wValue; /* Varies according to request.

*/

uint16_t wIndex; /* Varies according to request; typically used as index.*/

uint16_t wLength; /* Transfer length if data stage i láthair.

*/

} sl_usbd_setup_req_t;

(2) Determine the request. You may use a switch statement if you are using different requests. In this example, there are three different requests corresponding to the three types of the data stage: APP_VENDOR_REQ_NO_DATA, APP_VENDOR_REQ_RECEIVE_DATA_FROM_HOST, and APP_VENDOR_REQ_SEND_DATA_TO_HOST.
(3) If no data stage is present, you only need to decode the other fields. The presence of a data stage or not is indicated by the field wLength being non-null or null.
(4) If the host sends data to the device, you must call the function sl_usbd_core_read_control_sync() . The buffer provided should be able to contain up to wLength bytes. If any error occurs, return false to the core that will stall the status stage of the control transfer, indicating to the host that the request cannot be processed. true is returned in case of success.
(5) If the host receives data from the device, you must call the function sl_usbd_core_write_control_sync() . If any error occurs, return false to the core that will stall the status stage of the control transfer, indicating to the host that the request cannot be processed. true is returned in case of success.
(6) In this example, all requests not recognized are marked by returning false to the core. This one will stall the data or status stage of the control transfer indicating to the host that the request is not supported.
The host sends vendor requests through a host vendor application. USb libraries, such as libusb, can be used to help you develop your custom host vendor application.

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

60/174

Doiciméadúchán API
Doiciméadúchán API
Doiciméadúchán API
Liosta modúl
USB Device API USB Device ACM API USB Device CDC API USB Device Core API USB Device HID API USB Device MSC API USB Device MSC SCSI API USB Device Vendor API

Cur síos
USB Device API USB Device ACM API USB Device CDC API USB Device Core API USB Device HID API USB Device MSC API USB Device MSC SCSI API USB Device Vendor API

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

61/174

USB Device API
USB Device API
USB Device API
USB Device API.
modúil
USB Device ACM API USB Device CDC API USB Device Core API USB Device HID API USB Device MSC API USB Device MSC SCSI API USB Device Vendor API

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

62/174

USB Device ACM API

USB Device ACM API

USB Device ACM API

USB Device CDC ACM API.
modúil
a sl_usbd_cdc_ cm_line_coding_t sl_usbd_cdc_acm_callbacks_t
Feidhmeanna

sl_status_t sl_status_t
sl_status_t sl_status_t sl_status_t
sl_status_t
sl_status_t
sl_status_t
sl_status_t sl_status_t sl_status_t sl_status_t sl_status_t

a sl_usbd_cdc_ cm_init(void)
GLOBAL VARIABLES.
ssll__uussbbdd__ccddcc__aaccmm__ccraellabtaec_kins_stta*npc_ea(cumin_tc1a6l_lbtalicnkes_,sutaintte8__int t*eprv_saul,bucinlats1s6__nt bcra)ll_mgmt_capabilities,
Add a new instance of the CDC ACM serial emulation subclass.
a a a a sl_usbd_cdc_ cm_ dd_to_configur tion(uint8_t subcl ss_nbr, uint8_t config_nbr)
Add a CDC ACM subclass class instance into USB device configuration.
a a sl_usbd_cdc_ cm_is_en bled(uint8_t subclass_nbr, bool *p_enabled)
Get the CDC ACM serial emulation subclass enable state.
a a a 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) Receive data on the CDC ACM serial emulation subclass.
a a a a sl_usbd_cdc_ cm_re d_ sync(uint8_t subcl ss_nbr, uint8_t *p_buf, uint32_t buf_len, a a a a sl_usbd_cdc_ sync_function_t sync_fnct, void *p_ sync_ rg)
Receive data on the CDC ACM serial emulation subclass asynchronously.
a a 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) Send data on the CDC ACM serial emulation subclass.
a a a sl_usbd_cdc_ cm_write_ sync(uint8_t subcl ss_nbr, uint8_t *p_buf, uint32_t buf_len, a a a a sl_usbd_cdc_ sync_function_t sync_fnct, void *p_ sync_ rg)
Send data on the CDC ACM serial emulation subclass asynchronously.
a a a sl_usbd_cdc_ cm_get_line_control_st te(uint8_t subcl ss_nbr, uint8_t *p_line_ctrl)
Return the state of control lines.
a a a sl_usbd_cdc_ cm_get_line_coding(uint8_t subcl ss_nbr, sl_usbd_cdc_ cm_line_coding_t *p_line_coding)
Get the current state of the line coding.
a a a sl_usbd_cdc_ cm_set_line_coding(uint8_t subcl ss_nbr, sl_usbd_cdc_ cm_line_coding_t *p_line_coding)
Set a new line coding.
a a a sl_usbd_cdc_ cm_set_line_st te_event(uint8_t subcl ss_nbr, uint8_t events)
Set a line state event(s).
a a a a sl_usbd_cdc_ cm_cle r_line_st te_event(uint8_t subcl ss_nbr, uint8_t events)
Clear a line state event(s).

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

63/174

USB Device ACM API
Macraí
#define SL_USBD_CDC_ACM_NBR_NONE 255u
MODÚL.
#define SL_USBD_CDC_ACM_PARITY_NONE 0u
PORT SETTINGS DEFINES.
#define SL_USBD_CDC_ACM_PARITY_ODD 1u #define SL_USBD_CDC_ACM_PARITY_EVEN 2u #define SL_USBD_CDC_ACM_PARITY_MARK 3u #define SL_USBD_CDC_ACM_PARITY_SPACE 4u #define SL_USBD_CDC_ACM_STOP_BIT_1 0u #define SL_USBD_CDC_ACM_STOP_BIT_1_5 1u #define SL_USBD_CDC_ACM_STOP_BIT_2 2u #define SL_USBD_CDC_ACM_CTRL_BREAK 0 01u
LINE EVENTS FLAGS DEFINES.
#define SL_USBD_CDC_ACM_CTRL_RTS 0 02u #define SL_USBD_CDC_ACM_CTRL_DTR 0 04u #define SL_USBD_CDC_ACM_STATE_DCD 0 01u #define SL_USBD_CDC_ACM_STATE_DSR 0 02u #define 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 20u #define SL_USBD_CDC_ACM_STATE_OVERUN 0 40u #define SL_USBD_CDC_ACM_CALL_MGMT_DEV 0 01u
CALL MANAGEMENT CAPABILITIES.
#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)
Function Documentation
sl_usbd_cdc_acm_init
sl_status_t sl_usbd_cdc_acm_init (void )
GLOBAL VARIABLES. Parameters
Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

64/174

USB Device ACM API

Cineál
neamhní

Direction N/A

Argument Name

MACROS GLOBAL CONSTANTS FUNCTION PROTOTYPES CDC ACM FUNCTIONS

Initialize the CDC ACM serial emulation subclass.
Tuairisceáin

Returns SL_STATUS_OK on success or another SL_STATUS code on failure.

Cur síos

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_nbr)

Add a new instance of the CDC ACM serial emulation subclass.
Paraiméadair

Cineál
uint16_t
uint16_t

Direction Argument Name

Cur síos

N/B

line_state_interval Line state notification interval in milliseconds (value must

be a power of 2).

N/B

call_mgmt_capabilities Call Management Capabilities bitmap. OR’ed of the

following flags:

SL_USBD_CDC_ACM_CALL_MGMT_DEV Device handles call management itself. SL_USBD_CDC_ACM_CALL_MGMT_DATA_CCI_DCI Device can send/receive call management information over a Data Class interface.

sl_usbd_cdc_acm_callbacks_t N/A
*

uint8_t *

N/B

p_acm_callbacks p_subclass_nbr

Optional pointers to callback functions to be called on various events.
Param to variable that will receive CDC ACM serial emulation subclass instance number.

Tuairisceáin

Return SL_STATUS_OK on success or another SL_STATUS code on failure.

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)

Add a CDC ACM subclass class instance into USB device configuration.
Paraiméadair

Cineál
uint8_t uint8_t

Direction N/A N/A

Argument Name
subclass_nbr config_nbr

Description CDC ACM serial emulation subclass instance number. Configuration index to add new test class interface to.

Tuairisceáin

Cóipcheart © 2025 Silicon Laboratories. Gach ceart ar cosaint.

65/174

USB Device ACM API
Returns SL_STATUS_OK on success or another SL_STATUS code on failure.

sl_usbd_cdc_acm_is_enabled

sl_status_t sl_usbd_cdc_acm_is_enabled (uint8_t subclass_nbr, bool * p_enabled)

Get the CDC ACM serial emulation subclass enable state.
Paraiméadair

Cineál

Treo

Argument Name

Cur síos

uint8_t N/A

subclass_nbr CDC ACM serial emulation subclass instance number.

bool * N/A

p_enabled

Boolean to a variable that will receive enable status. The variable is set to true, CDC ACM serial emulation is enabled. The va

Doiciméid / Acmhainní

SILICON LABS USB Device Stack [pdfLámhleabhar Treoracha
USB Device Stack, Device Stack, Stack

Tagairtí

Fág trácht

Ní fhoilseofar do sheoladh ríomhphoist. Tá réimsí riachtanacha marcáilte *