?login_element?

Subversion Repositories NedoOS

Rev

Rev 8 | Blame | Compare with Previous | Last modification | View Log | Download

  1. /**
  2.   ******************************************************************************
  3.   * @file    opora_can_defs.h
  4.   * @author  Phyton Application Team
  5.   * @version V1.0.0
  6.   * @date
  7.   * @brief   This file contains all the Special Function Registers definitions
  8.   *          for the CAN peripheral unit used in the Milandr OPORA
  9.   *          microcontrollers.
  10.   ******************************************************************************
  11.   * @copy
  12.   *
  13.   * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
  14.   * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
  15.   * TIME. AS A RESULT, PHYTON SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT
  16.   * OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
  17.   * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
  18.   * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
  19.   *
  20.   * <h2><center>&copy; COPYRIGHT 2010 Phyton</center></h2>
  21.   ******************************************************************************
  22.   * FILE opora_can_defs.h
  23.   */
  24.  
  25. /* Define to prevent recursive inclusion -------------------------------------*/
  26. #ifndef __OPORA_CAN_DEFS_H
  27. #define __OPORA_CAN_DEFS_H
  28.  
  29. /** @addtogroup __CMSIS CMSIS
  30.   * @{
  31.   */
  32.  
  33. /** @addtogroup __OPORA_Peripheral_Units OPORA Peripheral Units
  34.   * @{
  35.   */
  36.  
  37. /** @defgroup Periph_CAN CAN
  38.   * @{
  39.   */
  40.  
  41. /**
  42.   * @brief CAN_BUF_TypeDef ??? structure
  43.   */
  44.  
  45. typedef struct {
  46.   __IO uint32_t ID;
  47.   __IO uint32_t DLC;
  48.   __IO uint32_t DATAL;
  49.   __IO uint32_t DATAH;
  50. } _CAN_BUF_TypeDef;
  51.  
  52. /**
  53.   * @brief CAN_BUF_TypeDef0 ??? structure
  54.   */
  55.  
  56. typedef struct {
  57.   __IO uint32_t MASK;
  58.   __IO uint32_t FILTER;
  59. } _CAN_BUF_TypeDef0;
  60.  
  61. /** @defgroup Periph_CAN_Data_Structures Data Structures
  62.   * @{
  63.   */
  64.  
  65. /** @defgroup Periph_CAN_TypeDef CAN_TypeDef
  66.   * @{
  67.   */
  68.  
  69. typedef struct {
  70.   __IO uint32_t CONTROL;
  71.   __IO uint32_t STATUS;
  72.   __IO uint32_t BITTMNG;
  73.        uint32_t RESERVED0;
  74.   __IO uint32_t INT_EN;
  75.        uint32_t RESERVED1[2];
  76.   __IO uint32_t OVER;
  77.   __IO uint32_t RXID;
  78.   __IO uint32_t RXDLC;
  79.   __IO uint32_t RXDATAL;
  80.   __IO uint32_t RXDATAH;
  81.   __IO uint32_t TXID;
  82.   __IO uint32_t TXDLC;
  83.   __IO uint32_t DATAL;
  84.   __IO uint32_t DATAH;
  85.   __IO uint32_t BUF_01_CON;
  86.   __IO uint32_t BUF_02_CON;
  87.   __IO uint32_t BUF_03_CON;
  88.   __IO uint32_t BUF_04_CON;
  89.   __IO uint32_t BUF_05_CON;
  90.   __IO uint32_t BUF_06_CON;
  91.   __IO uint32_t BUF_07_CON;
  92.   __IO uint32_t BUF_08_CON;
  93.   __IO uint32_t BUF_09_CON;
  94.   __IO uint32_t BUF_10_CON;
  95.   __IO uint32_t BUF_11_CON;
  96.   __IO uint32_t BUF_12_CON;
  97.   __IO uint32_t BUF_13_CON;
  98.   __IO uint32_t BUF_14_CON;
  99.   __IO uint32_t BUF_15_CON;
  100.   __IO uint32_t BUF_16_CON;
  101.   __IO uint32_t BUF_17_CON;
  102.   __IO uint32_t BUF_18_CON;
  103.   __IO uint32_t BUF_19_CON;
  104.   __IO uint32_t BUF_20_CON;
  105.   __IO uint32_t BUF_21_CON;
  106.   __IO uint32_t BUF_22_CON;
  107.   __IO uint32_t BUF_23_CON;
  108.   __IO uint32_t BUF_24_CON;
  109.   __IO uint32_t BUF_25_CON;
  110.   __IO uint32_t BUF_26_CON;
  111.   __IO uint32_t BUF_27_CON;
  112.   __IO uint32_t BUF_28_CON;
  113.   __IO uint32_t BUF_29_CON;
  114.   __IO uint32_t BUF_30_CON;
  115.   __IO uint32_t BUF_31_CON;
  116.   __IO uint32_t BUF_32_CON;
  117.   __IO uint32_t INT_RX;
  118.   __IO uint32_t RX;
  119.   __IO uint32_t INT_TX;
  120.   __IO uint32_t TX;
  121.        uint32_t RESERVED2[76];
  122.   __IO uint32_t BUF_01_ID;
  123.   __IO uint32_t BUF_01_DLC;
  124.   __IO uint32_t BUF_01_DATAL;
  125.   __IO uint32_t BUF_01_DATAH;
  126.   __IO uint32_t BUF_02_ID;
  127.   __IO uint32_t BUF_02_DLC;
  128.   __IO uint32_t BUF_02_DATAL;
  129.   __IO uint32_t BUF_02_DATAH;
  130.   __IO uint32_t BUF_03_ID;
  131.   __IO uint32_t BUF_03_DLC;
  132.   __IO uint32_t BUF_03_DATAL;
  133.   __IO uint32_t BUF_03_DATAH;
  134.   __IO uint32_t BUF_04_ID;
  135.   __IO uint32_t BUF_04_DLC;
  136.   __IO uint32_t BUF_04_DATAL;
  137.   __IO uint32_t BUF_04_DATAH;
  138.   __IO uint32_t BUF_05_ID;
  139.   __IO uint32_t BUF_05_DLC;
  140.   __IO uint32_t BUF_05_DATAL;
  141.   __IO uint32_t BUF_05_DATAH;
  142.   __IO uint32_t BUF_06_ID;
  143.   __IO uint32_t BUF_06_DLC;
  144.   __IO uint32_t BUF_06_DATAL;
  145.   __IO uint32_t BUF_06_DATAH;
  146.   __IO uint32_t BUF_07_ID;
  147.   __IO uint32_t BUF_07_DLC;
  148.   __IO uint32_t BUF_07_DATAL;
  149.   __IO uint32_t BUF_07_DATAH;
  150.   __IO uint32_t BUF_08_ID;
  151.   __IO uint32_t BUF_08_DLC;
  152.   __IO uint32_t BUF_08_DATAL;
  153.   __IO uint32_t BUF_08_DATAH;
  154.   __IO uint32_t BUF_09_ID;
  155.   __IO uint32_t BUF_09_DLC;
  156.   __IO uint32_t BUF_09_DATAL;
  157.   __IO uint32_t BUF_09_DATAH;
  158.   __IO uint32_t BUF_10_ID;
  159.   __IO uint32_t BUF_10_DLC;
  160.   __IO uint32_t BUF_10_DATAL;
  161.   __IO uint32_t BUF_10_DATAH;
  162.   __IO uint32_t BUF_11_ID;
  163.   __IO uint32_t BUF_11_DLC;
  164.   __IO uint32_t BUF_11_DATAL;
  165.   __IO uint32_t BUF_11_DATAH;
  166.   __IO uint32_t BUF_12_ID;
  167.   __IO uint32_t BUF_12_DLC;
  168.   __IO uint32_t BUF_12_DATAL;
  169.   __IO uint32_t BUF_12_DATAH;
  170.   __IO uint32_t BUF_13_ID;
  171.   __IO uint32_t BUF_13_DLC;
  172.   __IO uint32_t BUF_13_DATAL;
  173.   __IO uint32_t BUF_13_DATAH;
  174.   __IO uint32_t BUF_14_ID;
  175.   __IO uint32_t BUF_14_DLC;
  176.   __IO uint32_t BUF_14_DATAL;
  177.   __IO uint32_t BUF_14_DATAH;
  178.   __IO uint32_t BUF_15_ID;
  179.   __IO uint32_t BUF_15_DLC;
  180.   __IO uint32_t BUF_15_DATAL;
  181.   __IO uint32_t BUF_15_DATAH;
  182.   __IO uint32_t BUF_16_ID;
  183.   __IO uint32_t BUF_16_DLC;
  184.   __IO uint32_t BUF_16_DATAL;
  185.   __IO uint32_t BUF_16_DATAH;
  186.   __IO uint32_t BUF_17_ID;
  187.   __IO uint32_t BUF_17_DLC;
  188.   __IO uint32_t BUF_17_DATAL;
  189.   __IO uint32_t BUF_17_DATAH;
  190.   __IO uint32_t BUF_18_ID;
  191.   __IO uint32_t BUF_18_DLC;
  192.   __IO uint32_t BUF_18_DATAL;
  193.   __IO uint32_t BUF_18_DATAH;
  194.   __IO uint32_t BUF_19_ID;
  195.   __IO uint32_t BUF_19_DLC;
  196.   __IO uint32_t BUF_19_DATAL;
  197.   __IO uint32_t BUF_19_DATAH;
  198.   __IO uint32_t BUF_20_ID;
  199.   __IO uint32_t BUF_20_DLC;
  200.   __IO uint32_t BUF_20_DATAL;
  201.   __IO uint32_t BUF_20_DATAH;
  202.   __IO uint32_t BUF_21_ID;
  203.   __IO uint32_t BUF_21_DLC;
  204.   __IO uint32_t BUF_21_DATAL;
  205.   __IO uint32_t BUF_21_DATAH;
  206.   __IO uint32_t BUF_22_ID;
  207.   __IO uint32_t BUF_22_DLC;
  208.   __IO uint32_t BUF_22_DATAL;
  209.   __IO uint32_t BUF_22_DATAH;
  210.   __IO uint32_t BUF_23_ID;
  211.   __IO uint32_t BUF_23_DLC;
  212.   __IO uint32_t BUF_23_DATAL;
  213.   __IO uint32_t BUF_23_DATAH;
  214.   __IO uint32_t BUF_24_ID;
  215.   __IO uint32_t BUF_24_DLC;
  216.   __IO uint32_t BUF_24_DATAL;
  217.   __IO uint32_t BUF_24_DATAH;
  218.   __IO uint32_t BUF_25_ID;
  219.   __IO uint32_t BUF_25_DLC;
  220.   __IO uint32_t BUF_25_DATAL;
  221.   __IO uint32_t BUF_25_DATAH;
  222.   __IO uint32_t BUF_26_ID;
  223.   __IO uint32_t BUF_26_DLC;
  224.   __IO uint32_t BUF_26_DATAL;
  225.   __IO uint32_t BUF_26_DATAH;
  226.   __IO uint32_t BUF_27_ID;
  227.   __IO uint32_t BUF_27_DLC;
  228.   __IO uint32_t BUF_27_DATAL;
  229.   __IO uint32_t BUF_27_DATAH;
  230.   __IO uint32_t BUF_28_ID;
  231.   __IO uint32_t BUF_28_DLC;
  232.   __IO uint32_t BUF_28_DATAL;
  233.   __IO uint32_t BUF_28_DATAH;
  234.   __IO uint32_t BUF_29_ID;
  235.   __IO uint32_t BUF_29_DLC;
  236.   __IO uint32_t BUF_29_DATAL;
  237.   __IO uint32_t BUF_29_DATAH;
  238.   __IO uint32_t BUF_30_ID;
  239.   __IO uint32_t BUF_30_DLC;
  240.   __IO uint32_t BUF_30_DATAL;
  241.   __IO uint32_t BUF_30_DATAH;
  242.   __IO uint32_t BUF_31_ID;
  243.   __IO uint32_t BUF_31_DLC;
  244.   __IO uint32_t BUF_31_DATAL;
  245.   __IO uint32_t BUF_31_DATAH;
  246.   __IO uint32_t BUF_32_ID;
  247.   __IO uint32_t BUF_32_DLC;
  248.   __IO uint32_t BUF_32_DATAL;
  249.   __IO uint32_t BUF_32_DATAH;
  250.        uint32_t RESERVED3[64];
  251.   __IO uint32_t BUF_01_MASK;
  252.   __IO uint32_t BUF_01_FILTER;
  253.   __IO uint32_t BUF_02_MASK;
  254.   __IO uint32_t BUF_02_FILTER;
  255.   __IO uint32_t BUF_03_MASK;
  256.   __IO uint32_t BUF_03_FILTER;
  257.   __IO uint32_t BUF_04_MASK;
  258.   __IO uint32_t BUF_04_FILTER;
  259.   __IO uint32_t BUF_05_MASK;
  260.   __IO uint32_t BUF_05_FILTER;
  261.   __IO uint32_t BUF_06_MASK;
  262.   __IO uint32_t BUF_06_FILTER;
  263.   __IO uint32_t BUF_07_MASK;
  264.   __IO uint32_t BUF_07_FILTER;
  265.   __IO uint32_t BUF_08_MASK;
  266.   __IO uint32_t BUF_08_FILTER;
  267.   __IO uint32_t BUF_09_MASK;
  268.   __IO uint32_t BUF_09_FILTER;
  269.   __IO uint32_t BUF_10_MASK;
  270.   __IO uint32_t BUF_10_FILTER;
  271.   __IO uint32_t BUF_11_MASK;
  272.   __IO uint32_t BUF_11_FILTER;
  273.   __IO uint32_t BUF_12_MASK;
  274.   __IO uint32_t BUF_12_FILTER;
  275.   __IO uint32_t BUF_13_MASK;
  276.   __IO uint32_t BUF_13_FILTER;
  277.   __IO uint32_t BUF_14_MASK;
  278.   __IO uint32_t BUF_14_FILTER;
  279.   __IO uint32_t BUF_15_MASK;
  280.   __IO uint32_t BUF_15_FILTER;
  281.   __IO uint32_t BUF_16_MASK;
  282.   __IO uint32_t BUF_16_FILTER;
  283.   __IO uint32_t BUF_17_MASK;
  284.   __IO uint32_t BUF_17_FILTER;
  285.   __IO uint32_t BUF_18_MASK;
  286.   __IO uint32_t BUF_18_FILTER;
  287.   __IO uint32_t BUF_19_MASK;
  288.   __IO uint32_t BUF_19_FILTER;
  289.   __IO uint32_t BUF_20_MASK;
  290.   __IO uint32_t BUF_20_FILTER;
  291.   __IO uint32_t BUF_21_MASK;
  292.   __IO uint32_t BUF_21_FILTER;
  293.   __IO uint32_t BUF_22_MASK;
  294.   __IO uint32_t BUF_22_FILTER;
  295.   __IO uint32_t BUF_23_MASK;
  296.   __IO uint32_t BUF_23_FILTER;
  297.   __IO uint32_t BUF_24_MASK;
  298.   __IO uint32_t BUF_24_FILTER;
  299.   __IO uint32_t BUF_25_MASK;
  300.   __IO uint32_t BUF_25_FILTER;
  301.   __IO uint32_t BUF_26_MASK;
  302.   __IO uint32_t BUF_26_FILTER;
  303.   __IO uint32_t BUF_27_MASK;
  304.   __IO uint32_t BUF_27_FILTER;
  305.   __IO uint32_t BUF_28_MASK;
  306.   __IO uint32_t BUF_28_FILTER;
  307.   __IO uint32_t BUF_29_MASK;
  308.   __IO uint32_t BUF_29_FILTER;
  309.   __IO uint32_t BUF_30_MASK;
  310.   __IO uint32_t BUF_30_FILTER;
  311.   __IO uint32_t BUF_31_MASK;
  312.   __IO uint32_t BUF_31_FILTER;
  313.   __IO uint32_t BUF_32_MASK;
  314.   __IO uint32_t BUF_32_FILTER;
  315. } CAN_TypeDef;
  316.  
  317. /** @} */ /* End of group Periph_CAN_TypeDef */
  318.  
  319. /** @} */ /* End of group Periph_CAN_Data_Structures */
  320.  
  321. /** @defgroup Periph_CAN_Defines Defines
  322.   * @{
  323.   */
  324.  
  325. /** @defgroup Periph_CAN_CAN_CONTROL_Bits CAN_CONTROL
  326.   * @{
  327.   */
  328.  
  329. #define CAN_CONTROL_CAN_EN_OFFS                 0
  330. #define CAN_CONTROL_CAN_EN                      ((uint32_t)0x00000001)
  331.  
  332. #define CAN_CONTROL_ROM_OFFS                    1
  333. #define CAN_CONTROL_ROM                         ((uint32_t)0x00000002)
  334.  
  335. #define CAN_CONTROL_STM_OFFS                    2
  336. #define CAN_CONTROL_STM                         ((uint32_t)0x00000004)
  337.  
  338. #define CAN_CONTROL_SAP_OFFS                    3
  339. #define CAN_CONTROL_SAP                         ((uint32_t)0x00000008)
  340.  
  341. #define CAN_CONTROL_ROP_OFFS                    4
  342. #define CAN_CONTROL_ROP                         ((uint32_t)0x00000010)
  343.  
  344.  
  345. /** @} */ /* End of group Periph_CAN_CAN_CONTROL_Bits */
  346.  
  347. /** @} */ /* End of group Periph_CAN_Defines */
  348.  
  349. /** @defgroup Periph_CAN_Defines Defines
  350.   * @{
  351.   */
  352.  
  353. /** @defgroup Periph_CAN_CAN_STATUS_Bits CAN_STATUS
  354.   * @{
  355.   */
  356.  
  357. #define CAN_STATUS_RX_READY_OFFS                0
  358. #define CAN_STATUS_RX_READY                     ((uint32_t)0x00000001)
  359.  
  360. #define CAN_STATUS_TX_READY_OFFS                1
  361. #define CAN_STATUS_TX_READY                     ((uint32_t)0x00000002)
  362.  
  363. #define CAN_STATUS_ERROR_OVER_OFFS              2
  364. #define CAN_STATUS_ERROR_OVER                   ((uint32_t)0x00000004)
  365.  
  366. #define CAN_STATUS_BIT_ERR_OFFS                 3
  367. #define CAN_STATUS_BIT_ERR                      ((uint32_t)0x00000008)
  368.  
  369. #define CAN_STATUS_BIT_STUFF_ERR_OFFS           4
  370. #define CAN_STATUS_BIT_STUFF_ERR                ((uint32_t)0x00000010)
  371.  
  372. #define CAN_STATUS_CRC_ERR_OFFS                 5
  373. #define CAN_STATUS_CRC_ERR                      ((uint32_t)0x00000020)
  374.  
  375. #define CAN_STATUS_FRAME_ERR_OFFS               6
  376. #define CAN_STATUS_FRAME_ERR                    ((uint32_t)0x00000040)
  377.  
  378. #define CAN_STATUS_ACK_ERR_OFFS                 7
  379. #define CAN_STATUS_ACK_ERR                      ((uint32_t)0x00000080)
  380.  
  381. #define CAN_STATUS_IDLOWER_OFFS                 8
  382. #define CAN_STATUS_IDLOWER                      ((uint32_t)0x00000100)
  383.  
  384. #define CAN_STATUS_ERR_STATUS_OFFS              9
  385. #define CAN_STATUS_ERR_STATUS_MASK              ((uint32_t)0x00000600)
  386.  
  387. #define CAN_STATUS_RX_ERR_CNT8_OFFS             11
  388. #define CAN_STATUS_RX_ERR_CNT8                  ((uint32_t)0x00000800)
  389.  
  390. #define CAN_STATUS_TX_ERR_CNT8_OFFS             12
  391. #define CAN_STATUS_TX_ERR_CNT8                  ((uint32_t)0x00001000)
  392.  
  393. #define CAN_STATUS_RX_ERR_CNT_OFFS              16
  394. #define CAN_STATUS_RX_ERR_CNT_MASK              ((uint32_t)0x00FF0000)
  395.  
  396. #define CAN_STATUS_TX_ERR_CNT_OFFS              24
  397. #define CAN_STATUS_TX_ERR_CNT_MASK              ((uint32_t)0xFF000000)
  398.  
  399.  
  400. /** @} */ /* End of group Periph_CAN_CAN_STATUS_Bits */
  401.  
  402. /** @} */ /* End of group Periph_CAN_Defines */
  403.  
  404. /** @defgroup Periph_CAN_Defines Defines
  405.   * @{
  406.   */
  407.  
  408. /** @defgroup Periph_CAN_CAN_BITTMNG_Bits CAN_BITTMNG
  409.   * @{
  410.   */
  411.  
  412. #define CAN_BITTMNG_BRP_OFFS                    0
  413. #define CAN_BITTMNG_BRP_MASK                    ((uint32_t)0x0000FFFF)
  414.  
  415. #define CAN_BITTMNG_PSEG_OFFS                   16
  416. #define CAN_BITTMNG_PSEG_MASK                   ((uint32_t)0x00070000)
  417.  
  418. #define CAN_BITTMNG_SEG1_OFFS                   19
  419. #define CAN_BITTMNG_SEG1_MASK                   ((uint32_t)0x00380000)
  420.  
  421. #define CAN_BITTMNG_SEG2_OFFS                   22
  422. #define CAN_BITTMNG_SEG2_MASK                   ((uint32_t)0x01C00000)
  423.  
  424. #define CAN_BITTMNG_SJW_OFFS                    25
  425. #define CAN_BITTMNG_SJW_MASK                    ((uint32_t)0x06000000)
  426.  
  427. #define CAN_BITTMNG_SB_OFFS                     27
  428. #define CAN_BITTMNG_SB                          ((uint32_t)0x08000000)
  429.  
  430.  
  431. /** @} */ /* End of group Periph_CAN_CAN_BITTMNG_Bits */
  432.  
  433. /** @} */ /* End of group Periph_CAN_Defines */
  434.  
  435. /** @defgroup Periph_CAN_Defines Defines
  436.   * @{
  437.   */
  438.  
  439. /** @defgroup Periph_CAN_CAN_INT_EN_Bits CAN_INT_EN
  440.   * @{
  441.   */
  442.  
  443. #define CAN_INT_EN_GLB_INT_EN_OFFS              0
  444. #define CAN_INT_EN_GLB_INT_EN                   ((uint32_t)0x00000001)
  445.  
  446. #define CAN_INT_EN_RX_INT_EN_OFFS               1
  447. #define CAN_INT_EN_RX_INT_EN                    ((uint32_t)0x00000002)
  448.  
  449. #define CAN_INT_EN_TX_INT_EN_OFFS               2
  450. #define CAN_INT_EN_TX_INT_EN                    ((uint32_t)0x00000004)
  451.  
  452. #define CAN_INT_EN_ERR_INT_EN_OFFS              3
  453. #define CAN_INT_EN_ERR_INT_EN                   ((uint32_t)0x00000008)
  454.  
  455. #define CAN_INT_EN_ERR_OVER_INT_EN_OFFS         4
  456. #define CAN_INT_EN_ERR_OVER_INT_EN              ((uint32_t)0x00000010)
  457.  
  458.  
  459. /** @} */ /* End of group Periph_CAN_CAN_INT_EN_Bits */
  460.  
  461. /** @} */ /* End of group Periph_CAN_Defines */
  462.  
  463. /** @defgroup Periph_CAN_Defines Defines
  464.   * @{
  465.   */
  466.  
  467. /** @defgroup Periph_CAN_CAN_RXID_Bits CAN_RXID
  468.   * @{
  469.   */
  470.  
  471. #define CAN_RXID_EID_OFFS                       0
  472. #define CAN_RXID_EID_MASK                       ((uint32_t)0x0003FFFF)
  473.  
  474. #define CAN_RXID_SID_OFFS                       18
  475. #define CAN_RXID_SID_MASK                       ((uint32_t)0x1FFC0000)
  476.  
  477.  
  478. /** @} */ /* End of group Periph_CAN_CAN_RXID_Bits */
  479.  
  480. /** @} */ /* End of group Periph_CAN_Defines */
  481.  
  482. /** @defgroup Periph_CAN_Defines Defines
  483.   * @{
  484.   */
  485.  
  486. /** @defgroup Periph_CAN_CAN_RXDLC_Bits CAN_RXDLC
  487.   * @{
  488.   */
  489.  
  490. #define CAN_RXDLC_OFFS                          0
  491. #define CAN_RXDLC_MASK                          ((uint32_t)0x0000000F)
  492.  
  493. #define CAN_RXDLC_RTR_OFFS                      8
  494. #define CAN_RXDLC_RTR                           ((uint32_t)0x00000100)
  495.  
  496. #define CAN_RXDLC_R1_OFFS                       9
  497. #define CAN_RXDLC_R1                            ((uint32_t)0x00000200)
  498.  
  499. #define CAN_RXDLC_R0_OFFS                       10
  500. #define CAN_RXDLC_R0                            ((uint32_t)0x00000400)
  501.  
  502. #define CAN_RXDLC_SSR_OFFS                      11
  503. #define CAN_RXDLC_SSR                           ((uint32_t)0x00000800)
  504.  
  505. #define CAN_RXDLC_IDE_OFFS                      12
  506. #define CAN_RXDLC_IDE                           ((uint32_t)0x00001000)
  507.  
  508.  
  509. /** @} */ /* End of group Periph_CAN_CAN_RXDLC_Bits */
  510.  
  511. /** @} */ /* End of group Periph_CAN_Defines */
  512.  
  513. /** @defgroup Periph_CAN_Defines Defines
  514.   * @{
  515.   */
  516.  
  517. /** @defgroup Periph_CAN_CAN_RXDATAL_Bits CAN_RXDATAL
  518.   * @{
  519.   */
  520.  
  521. #define CAN_RXDATAL_DB0_OFFS                    0
  522. #define CAN_RXDATAL_DB0_MASK                    ((uint32_t)0x000000FF)
  523.  
  524. #define CAN_RXDATAL_DB1_OFFS                    8
  525. #define CAN_RXDATAL_DB1_MASK                    ((uint32_t)0x0000FF00)
  526.  
  527. #define CAN_RXDATAL_DB2_OFFS                    16
  528. #define CAN_RXDATAL_DB2_MASK                    ((uint32_t)0x00FF0000)
  529.  
  530. #define CAN_RXDATAL_DB3_OFFS                    24
  531. #define CAN_RXDATAL_DB3_MASK                    ((uint32_t)0xFF000000)
  532.  
  533.  
  534. /** @} */ /* End of group Periph_CAN_CAN_RXDATAL_Bits */
  535.  
  536. /** @} */ /* End of group Periph_CAN_Defines */
  537.  
  538. /** @defgroup Periph_CAN_Defines Defines
  539.   * @{
  540.   */
  541.  
  542. /** @defgroup Periph_CAN_CAN_RXDATAH_Bits CAN_RXDATAH
  543.   * @{
  544.   */
  545.  
  546. #define CAN_RXDATAH_DB4_OFFS                    0
  547. #define CAN_RXDATAH_DB4_MASK                    ((uint32_t)0x000000FF)
  548.  
  549. #define CAN_RXDATAH_DB5_OFFS                    8
  550. #define CAN_RXDATAH_DB5_MASK                    ((uint32_t)0x0000FF00)
  551.  
  552. #define CAN_RXDATAH_DB6_OFFS                    16
  553. #define CAN_RXDATAH_DB6_MASK                    ((uint32_t)0x00FF0000)
  554.  
  555. #define CAN_RXDATAH_DB7_OFFS                    24
  556. #define CAN_RXDATAH_DB7_MASK                    ((uint32_t)0xFF000000)
  557.  
  558.  
  559. /** @} */ /* End of group Periph_CAN_CAN_RXDATAH_Bits */
  560.  
  561. /** @} */ /* End of group Periph_CAN_Defines */
  562.  
  563. /** @defgroup Periph_CAN_Defines Defines
  564.   * @{
  565.   */
  566.  
  567. /** @defgroup Periph_CAN_CAN_TXID_Bits CAN_TXID
  568.   * @{
  569.   */
  570.  
  571. #define CAN_TXID_EID_OFFS                       0
  572. #define CAN_TXID_EID_MASK                       ((uint32_t)0x0003FFFF)
  573.  
  574. #define CAN_TXID_SID_OFFS                       18
  575. #define CAN_TXID_SID_MASK                       ((uint32_t)0x1FFC0000)
  576.  
  577.  
  578. /** @} */ /* End of group Periph_CAN_CAN_TXID_Bits */
  579.  
  580. /** @} */ /* End of group Periph_CAN_Defines */
  581.  
  582. /** @defgroup Periph_CAN_Defines Defines
  583.   * @{
  584.   */
  585.  
  586. /** @defgroup Periph_CAN_CAN_TXDLC_Bits CAN_TXDLC
  587.   * @{
  588.   */
  589.  
  590. #define CAN_TXDLC_OFFS                          0
  591. #define CAN_TXDLC_MASK                          ((uint32_t)0x0000000F)
  592.  
  593. #define CAN_TXDLC_RTR_OFFS                      8
  594. #define CAN_TXDLC_RTR                           ((uint32_t)0x00000100)
  595.  
  596. #define CAN_TXDLC_R1_OFFS                       9
  597. #define CAN_TXDLC_R1                            ((uint32_t)0x00000200)
  598.  
  599. #define CAN_TXDLC_R0_OFFS                       10
  600. #define CAN_TXDLC_R0                            ((uint32_t)0x00000400)
  601.  
  602. #define CAN_TXDLC_SSR_OFFS                      11
  603. #define CAN_TXDLC_SSR                           ((uint32_t)0x00000800)
  604.  
  605. #define CAN_TXDLC_IDE_OFFS                      12
  606. #define CAN_TXDLC_IDE                           ((uint32_t)0x00001000)
  607.  
  608.  
  609. /** @} */ /* End of group Periph_CAN_CAN_TXDLC_Bits */
  610.  
  611. /** @} */ /* End of group Periph_CAN_Defines */
  612.  
  613. /** @defgroup Periph_CAN_Defines Defines
  614.   * @{
  615.   */
  616.  
  617. /** @defgroup Periph_CAN_CAN_DATAL_Bits CAN_DATAL
  618.   * @{
  619.   */
  620.  
  621. #define CAN_DATAL_DB0_OFFS                      0
  622. #define CAN_DATAL_DB0_MASK                      ((uint32_t)0x000000FF)
  623.  
  624. #define CAN_DATAL_DB1_OFFS                      8
  625. #define CAN_DATAL_DB1_MASK                      ((uint32_t)0x0000FF00)
  626.  
  627. #define CAN_DATAL_DB2_OFFS                      16
  628. #define CAN_DATAL_DB2_MASK                      ((uint32_t)0x00FF0000)
  629.  
  630. #define CAN_DATAL_DB3_OFFS                      24
  631. #define CAN_DATAL_DB3_MASK                      ((uint32_t)0xFF000000)
  632.  
  633.  
  634. /** @} */ /* End of group Periph_CAN_CAN_DATAL_Bits */
  635.  
  636. /** @} */ /* End of group Periph_CAN_Defines */
  637.  
  638. /** @defgroup Periph_CAN_Defines Defines
  639.   * @{
  640.   */
  641.  
  642. /** @defgroup Periph_CAN_CAN_DATAH_Bits CAN_DATAH
  643.   * @{
  644.   */
  645.  
  646. #define CAN_DATAH_DB4_OFFS                      0
  647. #define CAN_DATAH_DB4_MASK                      ((uint32_t)0x000000FF)
  648.  
  649. #define CAN_DATAH_DB5_OFFS                      8
  650. #define CAN_DATAH_DB5_MASK                      ((uint32_t)0x0000FF00)
  651.  
  652. #define CAN_DATAH_DB6_OFFS                      16
  653. #define CAN_DATAH_DB6_MASK                      ((uint32_t)0x00FF0000)
  654.  
  655. #define CAN_DATAH_DB7_OFFS                      24
  656. #define CAN_DATAH_DB7_MASK                      ((uint32_t)0xFF000000)
  657.  
  658.  
  659. /** @} */ /* End of group Periph_CAN_CAN_DATAH_Bits */
  660.  
  661. /** @} */ /* End of group Periph_CAN_Defines */
  662.  
  663. /** @defgroup Periph_CAN_Defines Defines
  664.   * @{
  665.   */
  666.  
  667. /** @defgroup Periph_CAN_CAN_BUF_CON_Bits CAN_BUF_CON
  668.   * @{
  669.   */
  670.  
  671. #define CAN_BUF_CON_EN_OFFS                     0
  672. #define CAN_BUF_CON_EN                          ((uint32_t)0x00000001)
  673.  
  674. #define CAN_BUF_CON_RX_TXn_OFFS                 1
  675. #define CAN_BUF_CON_RX_TXn                      ((uint32_t)0x00000002)
  676.  
  677. #define CAN_BUF_CON_OVER_EN_OFFS                2
  678. #define CAN_BUF_CON_OVER_EN                     ((uint32_t)0x00000004)
  679.  
  680. #define CAN_BUF_CON_RTR_EN_OFFS                 3
  681. #define CAN_BUF_CON_RTR_EN                      ((uint32_t)0x00000008)
  682.  
  683. #define CAN_BUF_CON_PRIOR_0_OFFS                4
  684. #define CAN_BUF_CON_PRIOR_0                     ((uint32_t)0x00000010)
  685.  
  686. #define CAN_BUF_CON_TX_REQ_OFFS                 5
  687. #define CAN_BUF_CON_TX_REQ                      ((uint32_t)0x00000020)
  688.  
  689. #define CAN_BUF_CON_RX_FULL_OFFS                6
  690. #define CAN_BUF_CON_RX_FULL                     ((uint32_t)0x00000040)
  691.  
  692. #define CAN_BUF_CON_OVER_WR_OFFS                7
  693. #define CAN_BUF_CON_OVER_WR                     ((uint32_t)0x00000080)
  694.  
  695.  
  696. /** @} */ /* End of group Periph_CAN_CAN_BUF_CON_Bits */
  697.  
  698. /** @} */ /* End of group Periph_CAN_Defines */
  699.  
  700. /** @defgroup Periph_CAN_Defines Defines
  701.   * @{
  702.   */
  703.  
  704. /** @defgroup Periph_CAN_CAN_BUF_ID_Bits CAN_BUF_ID
  705.   * @{
  706.   */
  707.  
  708. #define CAN_BUF_ID_EID_OFFS                     0
  709. #define CAN_BUF_ID_EID_MASK                     ((uint32_t)0x0003FFFF)
  710.  
  711. #define CAN_BUF_ID_SID_OFFS                     18
  712. #define CAN_BUF_ID_SID_MASK                     ((uint32_t)0x1FFC0000)
  713.  
  714.  
  715. /** @} */ /* End of group Periph_CAN_CAN_BUF_ID_Bits */
  716.  
  717. /** @} */ /* End of group Periph_CAN_Defines */
  718.  
  719. /** @defgroup Periph_CAN_Defines Defines
  720.   * @{
  721.   */
  722.  
  723. /** @defgroup Periph_CAN_CAN_BUF_DLC_Bits CAN_BUF_DLC
  724.   * @{
  725.   */
  726.  
  727. #define CAN_BUF_DLC_OFFS                        0
  728. #define CAN_BUF_DLC_MASK                        ((uint32_t)0x0000000F)
  729.  
  730. #define CAN_BUF_DLC_RTR_OFFS                    8
  731. #define CAN_BUF_DLC_RTR                         ((uint32_t)0x00000100)
  732.  
  733. #define CAN_BUF_DLC_R1_OFFS                     9
  734. #define CAN_BUF_DLC_R1                          ((uint32_t)0x00000200)
  735.  
  736. #define CAN_BUF_DLC_R0_OFFS                     10
  737. #define CAN_BUF_DLC_R0                          ((uint32_t)0x00000400)
  738.  
  739. #define CAN_BUF_DLC_SSR_OFFS                    11
  740. #define CAN_BUF_DLC_SSR                         ((uint32_t)0x00000800)
  741.  
  742. #define CAN_BUF_DLC_IDE_OFFS                    12
  743. #define CAN_BUF_DLC_IDE                         ((uint32_t)0x00001000)
  744.  
  745.  
  746. /** @} */ /* End of group Periph_CAN_CAN_BUF_DLC_Bits */
  747.  
  748. /** @} */ /* End of group Periph_CAN_Defines */
  749.  
  750. /** @defgroup Periph_CAN_Defines Defines
  751.   * @{
  752.   */
  753.  
  754. /** @defgroup Periph_CAN_CAN_BUF_DATAL_Bits CAN_BUF_DATAL
  755.   * @{
  756.   */
  757.  
  758. #define CAN_BUF_DATAL_DB0_OFFS                  0
  759. #define CAN_BUF_DATAL_DB0_MASK                  ((uint32_t)0x000000FF)
  760.  
  761. #define CAN_BUF_DATAL_DB1_OFFS                  8
  762. #define CAN_BUF_DATAL_DB1_MASK                  ((uint32_t)0x0000FF00)
  763.  
  764. #define CAN_BUF_DATAL_DB2_OFFS                  16
  765. #define CAN_BUF_DATAL_DB2_MASK                  ((uint32_t)0x00FF0000)
  766.  
  767. #define CAN_BUF_DATAL_DB3_OFFS                  24
  768. #define CAN_BUF_DATAL_DB3_MASK                  ((uint32_t)0xFF000000)
  769.  
  770.  
  771. /** @} */ /* End of group Periph_CAN_CAN_BUF_DATAL_Bits */
  772.  
  773. /** @} */ /* End of group Periph_CAN_Defines */
  774.  
  775. /** @defgroup Periph_CAN_Defines Defines
  776.   * @{
  777.   */
  778.  
  779. /** @defgroup Periph_CAN_CAN_BUF_DATAH_Bits CAN_BUF_DATAH
  780.   * @{
  781.   */
  782.  
  783. #define CAN_BUF_DATAH_DB4_OFFS                  0
  784. #define CAN_BUF_DATAH_DB4_MASK                  ((uint32_t)0x000000FF)
  785.  
  786. #define CAN_BUF_DATAH_DB5_OFFS                  8
  787. #define CAN_BUF_DATAH_DB5_MASK                  ((uint32_t)0x0000FF00)
  788.  
  789. #define CAN_BUF_DATAH_DB6_OFFS                  16
  790. #define CAN_BUF_DATAH_DB6_MASK                  ((uint32_t)0x00FF0000)
  791.  
  792. #define CAN_BUF_DATAH_DB7_OFFS                  24
  793. #define CAN_BUF_DATAH_DB7_MASK                  ((uint32_t)0xFF000000)
  794.  
  795.  
  796. /** @} */ /* End of group Periph_CAN_CAN_BUF_DATAH_Bits */
  797.  
  798. /** @} */ /* End of group Periph_CAN_Defines */
  799.  
  800. /** @} */ /* End of group Periph_CAN */
  801.  
  802. /** @} */ /* End of group __OPORA_Peripheral_Units */
  803.  
  804. /** @} */ /* End of group __CMSIS */
  805.  
  806. #endif /* __OPORA_CAN_DEFS_H */
  807.  
  808. /******************* (C) COPYRIGHT 2010 Phyton *********************************
  809. *
  810. * END OF FILE opora_can_defs.h */
  811.