fw_usb.c 629 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #include "fw_usb.h"
  2. #include "fw_sys.h"
  3. #if (__CONF_MCU_TYPE == 3)
  4. uint8_t USB_ReadReg(uint8_t addr)
  5. {
  6. while (USB_IsBusy());
  7. USB_SetAddrForRead(addr);
  8. while (USB_IsBusy());
  9. return USBDAT;
  10. }
  11. void USB_WriteReg(uint8_t addr, uint8_t dat)
  12. {
  13. while (USB_IsBusy());
  14. USB_SetAddrForWrite(addr);
  15. USBDAT = dat;
  16. }
  17. uint8_t USB_ReadFIFO(uint8_t fifo, uint8_t *pdat)
  18. {
  19. uint8_t cnt, ret;
  20. ret = cnt = USB_ReadReg(COUNT0);
  21. while (cnt--)
  22. {
  23. *pdat++ = USB_ReadReg(fifo);
  24. }
  25. return ret;
  26. }
  27. void USB_WriteFIFO(uint8_t fifo, uint8_t *pdat, uint8_t cnt)
  28. {
  29. while (cnt--)
  30. {
  31. USB_WriteReg(fifo, *pdat++);
  32. }
  33. }
  34. #endif