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

📄 jinit.c

📁 在Freescale16位单片机MC9s12dp256上移植了J1939源码和操作系统(ucOSII)。
💻 C
📖 第 1 页 / 共 3 页
字号:
/******************************************************************************
*
* File Name:      JInit.c
*
* Description:    Basic initialization of the protocol stack
*                 
*
* Comments:       
*                 
*
* Version  Date         Author           Comments
* -------  ----------   --------------   ------------------------------
*     0.9    18.12.98   Ft               Create
*     1.0    02.03.99   Ft               Application specific data
*     1.1    29.04.99   Ft               C167CR and Tasking compiler
*     1.2    24.08.00   Ft               Ack handling
*     1.3    25.01.02   Ma               changed the PG configuration
*     1.4    31.01.02   Ma               new PG configuration
*     1.5    24.06.2004 Ma               changed demo application
*
* Copyright (c) 1998 - 2004 Vector Informatik GmbH
*****************************************************************************/
#include "Includes.h"

#include "J1939.h"
#include "Types.h"
#include "JTimerDef.h"
#include "J1939CFG.h"
#include "J1939PGN.h"
#include "J1939TRA.h"
#include "J1939EXT.h"



/*!
  \brief Initializes the user specific PGs
*/

/*!
  \param   - 
  \retval  -
*/
void InitUserPGs(void)
{
  /* Initialize the user PGs */
  gRxPGTable[RX_PGN_FE10].mEnable = TRUE;          /*!< Enable/Disable PG */
  gRxPGTable[RX_PGN_FE10].mPGState = PG_RX_FREE;   /*!< Object used */
  gRxPGTable[RX_PGN_FE10].mTimer = 255;            /*!< Timer in ms */
  gRxPGTable[RX_PGN_FE10].mPDUF = 0xFE;            /*!< PDU Format */
  gRxPGTable[RX_PGN_FE10].mPDUS = 0x10;            /*!< PG Number */
  /*gRxPGTable[RX_PGN_FE10].mPage*/                /*!< Page, always 0 */
  gRxPGTable[RX_PGN_FE10].mSource = 0x04;          /* DeviceAddress */
  gRxPGTable[RX_PGN_FE10].mPriority = 0x06;        /*!< 3Bit Priority */
  gRxPGTable[RX_PGN_FE10].mTransType = TT_ASYNC;  /*!< TT_CYCLIC, TT_ASYNC */
  gRxPGTable[RX_PGN_FE10].mTransRate = 100;        /*!< Trans. rate in ms, only for cyclic */
  gRxPGTable[RX_PGN_FE10].mData = &gPGN_DATA_FE10[0]; /*!< Pointer to specific data struct */
  gRxPGTable[RX_PGN_FE10].mDataLength = PG_FE10_DATALEN; /*!< number of databytes */

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

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

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

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

   /* Initialize the user PGs  PG_F004*/
  gRxPGTable[RX_PGN_F004].mEnable = TRUE;          /*!< Enable/Disable PG */
  gRxPGTable[RX_PGN_F004].mPGState = PG_RX_FREE;   /*!< Object used */
  gRxPGTable[RX_PGN_F004].mTimer = 40;            /*!< Timer in ms */
  gRxPGTable[RX_PGN_F004].mPDUF = 0xF0;            /*!< PDU Format */
  gRxPGTable[RX_PGN_F004].mPDUS =0x04;  /*!< PG Number */
  /*gRxPGTable[RX_PGN_F004].mPage*/                /*!< Page, always 0 */
  gRxPGTable[RX_PGN_F004].mSource = 0x00;          /* DeviceAddress */
  gRxPGTable[RX_PGN_F004].mPriority = 0x03;        /*!< 3Bit Priority */
  gRxPGTable[RX_PGN_F004].mTransType = TT_CYCLIC;  /*!< TT_CYCLIC, TT_ASYNC */
  gRxPGTable[RX_PGN_F004].mTransRate = 20;        /*!< Trans. rate in ms, only for cyclic */
  gRxPGTable[RX_PGN_F004].mData = &gPGN_DATA_F004; /*!< Pointer to specific data struct */
  gRxPGTable[RX_PGN_F004].mDataLength = PG_F004_DATALEN; /*!< number of databytes */
  
        /* Initialize the user PGs  PG_FEEF*/
  gRxPGTable[RX_PGN_FEEF].mEnable = TRUE;          /*!< Enable/Disable PG */
  gRxPGTable[RX_PGN_FEEF].mPGState = PG_RX_FREE;   /*!< Object used */
  gRxPGTable[RX_PGN_FEEF].mTimer = 500;            /*!< Timer in ms */
  gRxPGTable[RX_PGN_FEEF].mPDUF = 0xFE;            /*!< PDU Format */
  gRxPGTable[RX_PGN_FEEF].mPDUS =0xEF;  /*!< PG Number */
  /*gRxPGTable[RX_PGN_FEEF].mPage*/                /*!< Page, always 0 */
  gRxPGTable[RX_PGN_FEEF].mSource = 0x00;          /* DeviceAddress */
  gRxPGTable[RX_PGN_FEEF].mPriority = 0x06;        /*!< 3Bit Priority */
  gRxPGTable[RX_PGN_FEEF].mTransType = TT_CYCLIC;  /*!< TT_CYCLIC, TT_ASYNC */
  gRxPGTable[RX_PGN_FEEF].mTransRate = 500;        /*!< Trans. rate in ms, only for cyclic */
  gRxPGTable[RX_PGN_FEEF].mData = &gPGN_DATA_FEEF; /*!< Pointer to specific data struct */
  gRxPGTable[RX_PGN_FEEF].mDataLength = PG_FEEF_DATALEN; /*!< number of databytes */

            /* Initialize the user PGs  PG_FEEE*/
  gRxPGTable[RX_PGN_FEEE].mEnable = TRUE;          /*!< Enable/Disable PG */
  gRxPGTable[RX_PGN_FEEE].mPGState = PG_RX_FREE;   /*!< Object used */
  gRxPGTable[RX_PGN_FEEE].mTimer = 1000;            /*!< Timer in ms */
  gRxPGTable[RX_PGN_FEEE].mPDUF = 0xFE;            /*!< PDU Format */
  gRxPGTable[RX_PGN_FEEE].mPDUS =0xEE;  /*!< PG Number */
  /*gRxPGTable[RX_PGN_FEEE].mPage*/                /*!< Page, always 0 */
  gRxPGTable[RX_PGN_FEEE].mSource = 0x0F;          /* DeviceAddress */
  gRxPGTable[RX_PGN_FEEE].mPriority = 0x06;        /*!< 3Bit Priority */
  gRxPGTable[RX_PGN_FEEE].mTransType = TT_CYCLIC;  /*!< TT_CYCLIC, TT_ASYNC */
  gRxPGTable[RX_PGN_FEEE].mTransRate = 1000;        /*!< Trans. rate in ms, only for cyclic */
  gRxPGTable[RX_PGN_FEEE].mData = &gPGN_DATA_FEEE; /*!< Pointer to specific data struct */
  gRxPGTable[RX_PGN_FEEE].mDataLength = PG_FEEE_DATALEN; /*!< number of databytes */
  
  /* Initialize the user PGs  PG_FE6C*/
  gRxPGTable[RX_PGN_FE6C].mEnable = TRUE;          /*!< Enable/Disable PG */
  gRxPGTable[RX_PGN_FE6C].mPGState = PG_RX_FREE;   /*!< Object used */
  gRxPGTable[RX_PGN_FE6C].mTimer = 50;            /*!< Timer in ms */
  gRxPGTable[RX_PGN_FE6C].mPDUF = 0xFE;            /*!< PDU Format */
  gRxPGTable[RX_PGN_FE6C].mPDUS =0x6C;  /*!< PG Number */
  /*gRxPGTable[RX_PGN_FE6C].mPage*/                /*!< Page, always 0 */
  gRxPGTable[RX_PGN_FE6C].mSource = 0xEE;          /* DeviceAddress */
  gRxPGTable[RX_PGN_FE6C].mPriority = 0x03;        /*!< 3Bit Priority */
  gRxPGTable[RX_PGN_FE6C].mTransType = TT_CYCLIC;  /*!< TT_CYCLIC, TT_ASYNC */
  gRxPGTable[RX_PGN_FE6C].mTransRate = 50;        /*!< Trans. rate in ms, only for cyclic */
  gRxPGTable[RX_PGN_FE6C].mData = &gPGN_DATA_FE6C; /*!< Pointer to specific data struct */
  gRxPGTable[RX_PGN_FE6C].mDataLength = PG_FE6C_DATALEN; /*!< number of databytes */
  
  /* Initialize the user PGs  PG_FEE6*/
  gRxPGTable[RX_PGN_FEE6].mEnable = TRUE;          /*!< Enable/Disable PG */
  gRxPGTable[RX_PGN_FEE6].mPGState = PG_RX_FREE;   /*!< Object used */
  gRxPGTable[RX_PGN_FEE6].mTimer = 1000;            /*!< Timer in ms */
  gRxPGTable[RX_PGN_FEE6].mPDUF = 0xFE;            /*!< PDU Format */
  gRxPGTable[RX_PGN_FEE6].mPDUS =0xE6;  /*!< PG Number */
  /*gRxPGTable[RX_PGN_FEE6].mPage*/                /*!< Page, always 0 */
  gRxPGTable[RX_PGN_FEE6].mSource = 0xEE;          /* DeviceAddress */
  gRxPGTable[RX_PGN_FEE6].mPriority = 0x06;        /*!< 3Bit Priority */
  gRxPGTable[RX_PGN_FEE6].mTransType = TT_CYCLIC;  /*!< TT_CYCLIC, TT_ASYNC */
  gRxPGTable[RX_PGN_FEE6].mTransRate = 1000;        /*!< Trans. rate in ms, only for cyclic */
  gRxPGTable[RX_PGN_FEE6].mData = &gPGN_DATA_FEE6; /*!< Pointer to specific data struct */
  gRxPGTable[RX_PGN_FEE6].mDataLength = PG_FEE6_DATALEN; /*!< number of databytes */
 
  /* Initialize the user PGs  PG_FEC1*/

⌨️ 快捷键说明

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