bxcan.h 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. /*
  2. * File : bxcan.h
  3. * This file is part of RT-Thread RTOS
  4. * COPYRIGHT (C) 2015, RT-Thread Development Team
  5. *
  6. * The license and distribution terms for this file may be
  7. * found in the file LICENSE in this distribution or at
  8. * http://www.rt-thread.org/license/LICENSE
  9. *
  10. * Change Logs:
  11. * Date Author Notes
  12. * 2015-05-14 aubrcool@qq.com first version
  13. */
  14. #ifndef BXCAN_H_
  15. #define BXCAN_H_
  16. /* CAN Master Control Register bits */
  17. #define MCR_DBF ((uint32_t)0x00010000) /* software master reset */
  18. /* CAN Mailbox Transmit Request */
  19. #define TMIDxR_TXRQ ((uint32_t)0x00000001) /* Transmit mailbox request */
  20. /* CAN Filter Master Register bits */
  21. #define FMR_FINIT ((uint32_t)0x00000001) /* Filter init mode */
  22. /* Time out for INAK bit */
  23. #define INAK_TIMEOUT ((uint32_t)0x0000FFFF)
  24. /* Time out for SLAK bit */
  25. #define SLAK_TIMEOUT ((uint32_t)0x0000FFFF)
  26. /* Flags in TSR register */
  27. #define CAN_FLAGS_TSR ((uint32_t)0x08000000)
  28. /* Flags in RF1R register */
  29. #define CAN_FLAGS_RF1R ((uint32_t)0x04000000)
  30. /* Flags in RF0R register */
  31. #define CAN_FLAGS_RF0R ((uint32_t)0x02000000)
  32. /* Flags in MSR register */
  33. #define CAN_FLAGS_MSR ((uint32_t)0x01000000)
  34. /* Flags in ESR register */
  35. #define CAN_FLAGS_ESR ((uint32_t)0x00F00000)
  36. /* Mailboxes definition */
  37. #define CAN_TXMAILBOX_0 ((uint8_t)0x00)
  38. #define CAN_TXMAILBOX_1 ((uint8_t)0x01)
  39. #define CAN_TXMAILBOX_2 ((uint8_t)0x02)
  40. #define CAN_MODE_MASK ((uint32_t) 0x00000003)
  41. void CAN1_RX0_IRQHandler(void);
  42. void CAN1_TX_IRQHandler(void);
  43. #endif /*BXCAN_H_*/