| Electronic Components Datasheet Search |
|
UM0463 Datasheet(PDF) 21 Page - STMicroelectronics |
|
|
|||||||||||||||||||||||||||||
UM0463 Datasheet(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 |
|
Link URL |
| Does ALLDATASHEET help your business so far? [ DONATE ] |
About Alldatasheet | Advertisement | Contact us | Privacy Policy | Link to Datasheet | Link Exchange | Manufacturer List 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 |