SWM341_usbh.h 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #ifndef __SWM341_USBH_H__
  2. #define __SWM341_USBH_H__
  3. #include <stdint.h>
  4. typedef enum {
  5. USBR_ACK = 0,
  6. USBR_ERR_CRC,
  7. USBR_ERR_STUFF,
  8. USBR_ERR_TOGGLE,
  9. USBR_STALL,
  10. USBR_TIMEOUT,
  11. USBR_ERR_PID, // PID CHECK FAILED
  12. USBR_UNEXPECTED_PID,
  13. USBR_DATA_OVERRUN,
  14. USBR_DATA_UNDERRUN,
  15. USBR_NAK,
  16. USBR_FRAME_OVERRUN,
  17. USBR_BUFFER_OVERRUN,
  18. USBR_BUFFER_UNDERRUN,
  19. USBR_ERROR = 0xFE,
  20. USBR_NO = 0xFF // 还未收到设备响应
  21. } USBH_Resp;
  22. void USBH_HW_Init(void);
  23. void USBH_ResetPort(void);
  24. uint32_t USBH_IsDeviceConnected(void);
  25. uint32_t USBH_IsPortEnabled(void);
  26. uint32_t USBH_GetDeviceSpeed(void);
  27. USBH_Resp USBH_State(void);
  28. uint32_t USBH_SendSetupPacket(uint8_t addr, uint8_t *data, uint16_t size);
  29. uint32_t USBH_SendOutPacket(uint8_t addr, uint8_t endp, uint8_t DATAx, uint8_t *data, uint16_t size);
  30. uint32_t USBH_SendInPacket(uint8_t addr, uint8_t endp, uint8_t DATAx, uint16_t size);
  31. uint32_t USBH_ReadRxBuffer(uint8_t *buff, uint32_t size);
  32. #endif // __SWM341_USBH_H__