bxcan.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /*
  2. * Copyright (c) 2006-2018, RT-Thread Development Team
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. *
  6. * Change Logs:
  7. * Date Author Notes
  8. * 2015-05-14 aubrcool@qq.com first version
  9. */
  10. #ifndef BXCAN_H_
  11. #define BXCAN_H_
  12. /* CAN Master Control Register bits */
  13. #define MCR_DBF ((uint32_t)0x00010000) /* software master reset */
  14. /* CAN Mailbox Transmit Request */
  15. #define TMIDxR_TXRQ ((uint32_t)0x00000001) /* Transmit mailbox request */
  16. /* CAN Filter Master Register bits */
  17. #define FMR_FINIT ((uint32_t)0x00000001) /* Filter init mode */
  18. /* Time out for INAK bit */
  19. #define INAK_TIMEOUT ((uint32_t)0x0000FFFF)
  20. /* Time out for SLAK bit */
  21. #define SLAK_TIMEOUT ((uint32_t)0x0000FFFF)
  22. /* Flags in TSR register */
  23. #define CAN_FLAGS_TSR ((uint32_t)0x08000000)
  24. /* Flags in RF1R register */
  25. #define CAN_FLAGS_RF1R ((uint32_t)0x04000000)
  26. /* Flags in RF0R register */
  27. #define CAN_FLAGS_RF0R ((uint32_t)0x02000000)
  28. /* Flags in MSR register */
  29. #define CAN_FLAGS_MSR ((uint32_t)0x01000000)
  30. /* Flags in ESR register */
  31. #define CAN_FLAGS_ESR ((uint32_t)0x00F00000)
  32. /* Mailboxes definition */
  33. #define CAN_TXMAILBOX_0 ((uint8_t)0x00)
  34. #define CAN_TXMAILBOX_1 ((uint8_t)0x01)
  35. #define CAN_TXMAILBOX_2 ((uint8_t)0x02)
  36. #define CAN_MODE_MASK ((uint32_t) 0x00000003)
  37. void CAN1_RX0_IRQHandler(void);
  38. void CAN1_TX_IRQHandler(void);
  39. #endif /*BXCAN_H_*/