⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jinit.c

📁 在Freescale16位单片机MC9s12dp256上移植了J1939源码和操作系统(ucOSII)。
💻 C
📖 第 1 页 / 共 3 页
字号:
  gRxPGTable[RX_PGN_FEC1].mEnable = TRUE;          /*!< Enable/Disable PG */
  gRxPGTable[RX_PGN_FEC1].mPGState = PG_RX_FREE;   /*!< Object used */
  gRxPGTable[RX_PGN_FEC1].mTimer = 1000;            /*!< Timer in ms */
  gRxPGTable[RX_PGN_FEC1].mPDUF = 0xFE;            /*!< PDU Format */
  gRxPGTable[RX_PGN_FEC1].mPDUS =0xC1;  /*!< PG Number */
  /*gRxPGTable[RX_PGN_FEC1].mPage*/                /*!< Page, always 0 */
  gRxPGTable[RX_PGN_FEC1].mSource = 0xEE;          /* DeviceAddress */
  gRxPGTable[RX_PGN_FEC1].mPriority = 0x06;        /*!< 3Bit Priority */
  gRxPGTable[RX_PGN_FEC1].mTransType = TT_CYCLIC;  /*!< TT_CYCLIC, TT_ASYNC */
  gRxPGTable[RX_PGN_FEC1].mTransRate = 1000;        /*!< Trans. rate in ms, only for cyclic */
  gRxPGTable[RX_PGN_FEC1].mData = &gPGN_DATA_FEC1; /*!< Pointer to specific data struct */
  gRxPGTable[RX_PGN_FEC1].mDataLength = PG_FEC1_DATALEN; /*!< number of databytes */

  /* Initialize the user PGs  PG_FEC0*/
  gRxPGTable[RX_PGN_FEC0].mEnable = TRUE;          /*!< Enable/Disable PG */
  gRxPGTable[RX_PGN_FEC0].mPGState = PG_RX_FREE;   /*!< Object used */
  gRxPGTable[RX_PGN_FEC0].mTimer = 1000;            /*!< Timer in ms */
  gRxPGTable[RX_PGN_FEC0].mPDUF = 0xFE;            /*!< PDU Format */
  gRxPGTable[RX_PGN_FEC0].mPDUS =0xC0;  /*!< PG Number */
  /*gRxPGTable[RX_PGN_FEC0].mPage*/                /*!< Page, always 0 */
  gRxPGTable[RX_PGN_FEC0].mSource = 0xEE;          /* DeviceAddress */
  gRxPGTable[RX_PGN_FEC0].mPriority = 0x06;        /*!< 3Bit Priority */
  gRxPGTable[RX_PGN_FEC0].mTransType = TT_ASYNC;   /*!< TT_CYCLIC, TT_ASYNC */
  gRxPGTable[RX_PGN_FEC0].mTransRate = 1000;        /*!< Trans. rate in ms, only for cyclic */
  gRxPGTable[RX_PGN_FEC0].mData = &gPGN_DATA_FEC0; /*!< Pointer to specific data struct */
  gRxPGTable[RX_PGN_FEC0].mDataLength = PG_FEC0_DATALEN; /*!< number of databytes */ 
 
//------------------------------------Trans-------------------------------
  /* Initialize the user PGs */
  gTxPGTable[TX_PGN_FE10].mEnable = TRUE;          /*!< Enable/Disable PG */
  gTxPGTable[TX_PGN_FE10].mPGState = PG_TX_FREE;   /*!< Object used */
  gTxPGTable[TX_PGN_FE10].mTimer = 255;            /*!< Timer in ms */
  gTxPGTable[TX_PGN_FE10].mPDUF = 0xFE;            /*!< PDU Format */
  gTxPGTable[TX_PGN_FE10].mPDUS = 0x10;            /*!< PG Number */
  /*gTxPGTable[TX_PGN_FE10].mPage*/                /*!< Page, always 0 */
  gTxPGTable[TX_PGN_FE10].mSource = gDeviceAddress;/* DeviceAddress */
  gTxPGTable[TX_PGN_FE10].mPriority = 0x06;        /*!< 3Bit Priority */
  gTxPGTable[TX_PGN_FE10].mTransType = TT_ASYNC;  /*!< TT_CYCLIC, TT_ASYNC */
  gTxPGTable[TX_PGN_FE10].mTransRate = 150;        /*!< Trans. rate in ms, only for cyclic */
  gTxPGTable[TX_PGN_FE10].mData = &gPGN_DATA_FE10[1]; /*!< Pointer to specific data struct */
  gTxPGTable[TX_PGN_FE10].mDataLength = PG_FE10_DATALEN; /*!< number of databytes */

 /* Initialize the user PGs */
  gTxPGTable[TX_PGN_FF17].mEnable = TRUE;          /*!< Enable/Disable PG */
  gTxPGTable[TX_PGN_FF17].mPGState = PG_TX_REQ;   /*!< Object used */
  gTxPGTable[TX_PGN_FF17].mTimer = 255;            /*!< Timer in ms */
  gTxPGTable[TX_PGN_FF17].mPDUF = 0xFF;            /*!< PDU Format */
  gTxPGTable[TX_PGN_FF17].mPDUS = 0x17;            /*!< PG Number */
  /*gTxPGTable[TX_PGN_FF17].mPage*/                /*!< Page, always 0 */
  gTxPGTable[TX_PGN_FF17].mSource = gDeviceAddress;/* DeviceAddress */
  gTxPGTable[TX_PGN_FF17].mPriority = 0x06;        /*!< 3Bit Priority */
  gTxPGTable[TX_PGN_FF17].mTransType = TT_CYCLIC;  /*!< TT_CYCLIC, TT_ASYNC */
  gTxPGTable[TX_PGN_FF17].mTransRate = 150;        /*!< Trans. rate in ms, only for cyclic */
  gTxPGTable[TX_PGN_FF17].mData = &gPGN_DATA_FF17[1]; /*!< Pointer to specific data struct */
  gTxPGTable[TX_PGN_FF17].mDataLength = PG_FF17_DATALEN; /*!< number of databytes */

  /* Initialize the user PGs */
  gTxPGTable[TX_PGN_FE30].mEnable = TRUE;          /*!< Enable/Disable PG */
  gTxPGTable[TX_PGN_FE30].mPGState = PG_TX_FREE;   /*!< Object used */
  gTxPGTable[TX_PGN_FE30].mTimer = 255;            /*!< Timer in ms */
  gTxPGTable[TX_PGN_FE30].mPDUF = 0xFE;            /*!< PDU Format */
  gTxPGTable[TX_PGN_FE30].mPDUS = 0x30;            /*!< PG Number */
  /*gTxPGTable[TX_PGN_FE30].mPage*/                /*!< Page, always 0 */
  gTxPGTable[TX_PGN_FE30].mSource = gDeviceAddress;/* DeviceAddress */
  gTxPGTable[TX_PGN_FE30].mPriority = 0x06;        /*!< 3Bit Priority */
  gTxPGTable[TX_PGN_FE30].mTransType = TT_BAM;  /*!< TT_CYCLIC, TT_ASYNC */
  gTxPGTable[TX_PGN_FE30].mTransRate = 255;        /*!< Trans. rate in ms, only for cyclic */
  gTxPGTable[TX_PGN_FE30].mData = &gPGN_DATA_FE30[1]; /*!< Pointer to specific data struct */
  gTxPGTable[TX_PGN_FE30].mDataLength = PG_FE30_DATALEN; /*!< number of databytes */

  /* Initialize the user PGs */
  gTxPGTable[TX_PGN_CC00].mEnable = TRUE;          /*!< Enable/Disable PG */
  gTxPGTable[TX_PGN_CC00].mPGState = PG_TX_FREE;   /*!< Object used */
  gTxPGTable[TX_PGN_CC00].mTimer = 255;            /*!< Timer in ms */
  gTxPGTable[TX_PGN_CC00].mPDUF = 0xCC;            /*!< PDU Format */
  gTxPGTable[TX_PGN_CC00].mPDUS = 0x04;            /*!< PG Number */
  /*gTxPGTable[TX_PGN_CC00].mPage*/                /*!< Page, always 0 */
  gTxPGTable[TX_PGN_CC00].mSource = gDeviceAddress;/* DeviceAddress */
  gTxPGTable[TX_PGN_CC00].mPriority = 0x06;        /*!< 3Bit Priority */
  gTxPGTable[TX_PGN_CC00].mTransType = TT_ASYNC;  /*!< TT_CYCLIC, TT_ASYNC */
  gTxPGTable[TX_PGN_CC00].mTransRate = 100;        /*!< Trans. rate in ms, only for cyclic */
  gTxPGTable[TX_PGN_CC00].mData = &gPGN_DATA_CC00[1]; /*!< Pointer to specific data struct */
  gTxPGTable[TX_PGN_CC00].mDataLength = PG_CC00_DATALEN; /*!< number of databytes */

  /* Initialize the user PGs */
  gTxPGTable[TX_PGN_CB00].mEnable = TRUE;          /*!< Enable/Disable PG */
  gTxPGTable[TX_PGN_CB00].mPGState = PG_TX_FREE;   /*!< Object used */
  gTxPGTable[TX_PGN_CB00].mTimer = 255;            /*!< Timer in ms */
  gTxPGTable[TX_PGN_CB00].mPDUF = 0xCB;            /*!< PDU Format */
  gTxPGTable[TX_PGN_CB00].mPDUS = 0x04;            /*!< PG Number */
  /*gTxPGTable[TX_PGN_CB00].mPage*/                /*!< Page, always 0 */
  gTxPGTable[TX_PGN_CB00].mSource = gDeviceAddress;/* DeviceAddress */
  gTxPGTable[TX_PGN_CB00].mPriority = 0x06;        /*!< 3Bit Priority */
  gTxPGTable[TX_PGN_CB00].mTransType = TT_CMDT;  /*!< TT_CYCLIC, TT_ASYNC */
  gTxPGTable[TX_PGN_CB00].mTransRate = 255;        /*!< Trans. rate in ms, only for cyclic */
  gTxPGTable[TX_PGN_CB00].mData = &gPGN_DATA_CB00[1]; /*!< Pointer to specific data struct */
  gTxPGTable[TX_PGN_CB00].mDataLength = PG_CB00_DATALEN; /*!< number of databytes */
  
}

/*!
  \brief Initializes the internal system PGs
*/

/*!
  \param   - 
  \retval  -
*/
void InitSystemPGs(void)
{
  /* Initialize the system PGs */
  gRxPGTable[RX_PGN_ADDRESS_CLAIMED].mEnable = TRUE;         /* Enable PG */
  gRxPGTable[RX_PGN_ADDRESS_CLAIMED].mPGState = PG_RX_FREE;  /* Object used */
  gRxPGTable[RX_PGN_ADDRESS_CLAIMED].mTimer = 0;       /* Timer in ms */
  gRxPGTable[RX_PGN_ADDRESS_CLAIMED].mPDUS = 0x00;     /* PG Number */
  gRxPGTable[RX_PGN_ADDRESS_CLAIMED].mPDUF = 0xEE;     /* PDU Format */
  /*gRxPGTable[RX_PGN_ADDRESS_CLAIMED].mPage*/         /* Page, always 0 */
  /*gRxPGTable[RX_PGN_ADDRESS_CLAIMED].mSource*/       /* DeviceAddress */
  gRxPGTable[RX_PGN_ADDRESS_CLAIMED].mPriority = 0x06; /* 3Bit Priority */
  gRxPGTable[RX_PGN_ADDRESS_CLAIMED].mTransType = TT_ASYNC; /* TT_CYCLIC, TT_ASYNC */
  gRxPGTable[RX_PGN_ADDRESS_CLAIMED].mTransRate = 0;   /* Trans. rate in ms, only for cyclic */
  gRxPGTable[RX_PGN_ADDRESS_CLAIMED].mData = &gPGN_DATA_EE00[0]; /* Pointer to specific data struct */
#ifdef _TSK_C166_
  gRxPGTable[RX_PGN_ADDRESS_CLAIMED].mDataLength = 8; /* number of databytes */
#else
  gRxPGTable[RX_PGN_ADDRESS_CLAIMED].mDataLength = sizeof(struct VJ1939PGN_DATA_EE00); /* number of databytes */
#endif /* _TSK_C166_ */

  gRxPGTable[RX_PGN_REQ].mEnable = TRUE;        /* Enable PG */
  gRxPGTable[RX_PGN_REQ].mPGState = PG_RX_FREE; /* Object used */
  gRxPGTable[RX_PGN_REQ].mTimer = 0;       /* Timer in ms */
  gRxPGTable[RX_PGN_REQ].mPDUS = 0x00;     /* PG Number */
  gRxPGTable[RX_PGN_REQ].mPDUF = 0xEA;     /* PDU Format */
  /*gRxPGTable[RX_PGN_REQ].mPage*/         /* Page, always 0 */
  /*gRxPGTable[RX_PGN_REQ].mSource*/       /* DeviceAddress */
  gRxPGTable[RX_PGN_REQ].mPriority = 0x06; /* 3Bit Priority */
  gRxPGTable[RX_PGN_REQ].mTransType = TT_ASYNC; /* TT_CYCLIC, TT_ASYNC */
  gRxPGTable[RX_PGN_REQ].mTransRate = 0;   /* Trans. rate in ms, only for cyclic */
  gRxPGTable[RX_PGN_REQ].mData = &gPGN_DATA_EA00[0]; /* Pointer to specific data struct */
#ifdef _TSK_C166_
  gRxPGTable[RX_PGN_REQ].mDataLength = 3; /* number of databytes */
#else
  gRxPGTable[RX_PGN_REQ].mDataLength = sizeof(struct VJ1939PGN_DATA_EA00); /* number of databytes */
#endif /* _TSK_C166_ */

  gRxPGTable[RX_PGN_TPCM].mEnable = TRUE;         /* Enable PG */
  gRxPGTable[RX_PGN_TPCM].mPGState = PG_RX_FREE;  /* Object used */
  gRxPGTable[RX_PGN_TPCM].mTimer = 10;      /* Timer in ms */
  gRxPGTable[RX_PGN_TPCM].mPDUS = 0x00;     /* PG Number */
  gRxPGTable[RX_PGN_TPCM].mPDUF = 0xEC;     /* PDU Format */
  /*gRxPGTable[RX_PGN_TPCM].mPage*/         /* Page, always 0 */
  /*gRxPGTable[RX_PGN_TPCM].mSource*/       /* DeviceAddress */
  gRxPGTable[RX_PGN_TPCM].mPriority = 0x06; /* 3Bit Priority */
  gRxPGTable[RX_PGN_TPCM].mTransType = TT_ASYNC; /* TT_CYCLIC, TT_ASYNC */
  gRxPGTable[RX_PGN_TPCM].mTransRate = 10;  /* Trans. rate in ms, only for cyclic */
  gRxPGTable[RX_PGN_TPCM].mData = &gPGN_DATA_EC00[0]; /* Pointer to specific data struct */
#ifdef _TSK_C166_
  gRxPGTable[RX_PGN_TPCM].mDataLength = 8; /* number of databytes */
#else
  gRxPGTable[RX_PGN_TPCM].mDataLength = sizeof(struct VJ1939PGN_DATA_EC00); /* number of databytes */
#endif /* _TSK_C166_ */

  gRxPGTable[RX_PGN_TPDT].mEnable = TRUE;         /* Enable PG */
  gRxPGTable[RX_PGN_TPDT].mPGState = PG_RX_FREE;  /* Object used */
  gRxPGTable[RX_PGN_TPDT].mTimer = 0;       /* Timer in ms */
  gRxPGTable[RX_PGN_TPDT].mPDUS = 0x00;     /* PG Number */
  gRxPGTable[RX_PGN_TPDT].mPDUF = 0xEB;     /* PDU Format */
  /*gRxPGTable[RX_PGN_TPDT].mPage*/         /* Page, always 0 */
  /*gRxPGTable[RX_PGN_TPDT].mSource*/       /* DeviceAddress */
  gRxPGTable[RX_PGN_TPDT].mPriority = 0x06; /* 3Bit Priority */
  gRxPGTable[RX_PGN_TPDT].mTransType = TT_ASYNC; /* TT_CYCLIC, TT_ASYNC */
  gRxPGTable[RX_PGN_TPDT].mTransRate = 0;   /* Trans. rate in ms, only for cyclic */
  gRxPGTable[RX_PGN_TPDT].mData = &gPGN_DATA_EB00[0]; /* Pointer to specific data struct */
#ifdef _TSK_C166_
  gRxPGTable[RX_PGN_TPDT].mDataLength = 8; /* number of databytes */
#else
  gRxPGTable[RX_PGN_TPDT].mDataLength = sizeof(struct VJ1939PGN_DATA_EB00); /* number of databytes */
#endif /* _TSK_C166_ */

  gRxPGTable[RX_PGN_COMMAND_ADDRESS].mEnable = TRUE;         /* Enable PG */
  gRxPGTable[RX_PGN_COMMAND_ADDRESS].mPGState = PG_RX_FREE;  /* Object used */
  gRxPGTable[RX_PGN_COMMAND_ADDRESS].mTimer = 0;       /* Timer in ms */
  gRxPGTable[RX_PGN_COMMAND_ADDRESS].mPDUS = 0xD8;     /* PG Number */
  gRxPGTable[RX_PGN_COMMAND_ADDRESS].mPDUF = 0xFE;     /* PDU Format */
  /*gRxPGTable[RX_PGN_COMMAND_ADDRESS].mPage*/         /* Page, always 0 */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -