| 数据搜索系统,热门电子元器件搜索 |
|
UM0463 数据表(PDF) 21 Page - STMicroelectronics |
|
|
|||||||||||||||||||||||||||||
UM0463 数据表(HTML) 21 Page - STMicroelectronics |
|
21 / 30 page ![]() UM0463 Data transfer on noncontrol endpoints 21/30 The function USB_RecvDataEP?() is used to start a receiving procedure. The parameter DataAddress is a pointer which points to the data buffer and the parameter Length gives the length of the data package. After the receiving procedure is started, this function returns REQ_SUCCESS to the caller immediately. The function returns REQ_ERROR if the previous receiving procedure is not finished or the specified endpoint is in the state of DISABLE or STALL. After starting the receiving procedure, the user code should call function USB_TakeDataEP?() some time later to enquire that the data package is received. The function USB_TakeDataEP?() returns 0xFF if the receiving procedure is not finished, otherwise it returns a value that represents the length of the valid data bytes in the buffer. The user code has to wait that a receiving procedure is finished before starting another receiving procedure. If the data packet to be received is longer than 254 bytes, the user code has to split the data packet into smaller pieces that are shorter than 254 bytes. The length of these small data pieces, except the last data piece, must be a multiple of the maximum packet size of the endpoint used. Refer Section 1.2.1 for the maximum packet size of each endpoint. 4.3 Handling noncontrol endpoints directly The library provides the standard procedure to transfer data on the noncontrol endpoints. The user code can handle the data transfer on the noncontrol endpoints by access the endpoint status registers directly. The library defines a set of operations to manipulate the status registers. 4.3.1 Endpoint status registers Refer to Section 1.2.1, each endpoint has four possible states and they are defined as EP_DISABLE, EP_STALL, EP_NAK and EP_ACK respectively. For ST7265, there are four operations available to read status registers: ● USB_GetRx1Status() // Get the endpoint 1 receiving status ● USB_GetTx1Status() // Get the endpoint 1 sending status ● USB_GetRx2Status() // Get the endpoint 2 receiving status ● USB_GetTx2Status() // Get the endpoint 2 sending status For ST7SCR, there are six operations available to read status registers: ● USB_GetTx1Status() // Get the endpoint 1 sending status ● USB_GetRx2Status() // Get the endpoint 2 receiving status ● USB_GetTx2Status() // Get the endpoint 2 sending status ● USB_GetTx3Status() // Get the endpoint 3 sending status ● USB_GetTx4Status() // Get the endpoint 4 sending status ● USB_GetTx5Status() // Get the endpoint 5 sending status For ST7265, there are four operations available to set status registers: ● USB_SetTxEP1Status(Status) // Set the endpoint 1 sending status ● USB_SetRxEP1Status(Status) // Set the endpoint 1 receiving status ● USB_SetTxEP2Status(Status) // Set the endpoint 2 sending status ● USB_SetRxEP2Status(Status) // Set the endpoint 2 receiving status |
|
|
链接网址 |
| ALLDATASHEET是否为您带来帮助? [ DONATE ] |
关于 Alldatasheet | 广告服务 | 联系我们 | 隐私政策 | 数据表链接 | 链接交换 | 制造商名单 All Rights Reserved©Alldatasheet.com |
| Russian : Alldatasheetru.com | Korean : Alldatasheet.co.kr | Spanish : Alldatasheet.es | French : Alldatasheet.fr | Italian : Alldatasheetit.com Portuguese : Alldatasheetpt.com | Polish : Alldatasheet.pl | Vietnamese : Alldatasheet.vn Indian : Alldatasheet.in | Mexican : Alldatasheet.com.mx | British : Alldatasheet.co.uk | New Zealand : Alldatasheet.co.nz |
|
Family Site : ic2ic.com |
icmetro.com |