#ifndef _SJA2M16C_H #define _SJA2M16C_H #include "cpc.h" #define BAUDRATE_TOLERANCE_PERCENT 1 #define SAMPLEPOINT_TOLERANCE_PERCENT 5 #define SAMPLEPOINT_UPPER_LIMIT 88 /* M16C parameters */ struct FIELD_C0CONR { unsigned int brp:4; unsigned int sam:1; unsigned int pr:3; unsigned int dummy:8; }; struct FIELD_C1CONR { unsigned int ph1:3; unsigned int ph2:3; unsigned int sjw:2; unsigned int dummy:8; }; typedef union C0CONR { unsigned char c0con; struct FIELD_C0CONR bc0con; } C0CONR_T; typedef union C1CONR { unsigned char c1con; struct FIELD_C1CONR bc1con; } C1CONR_T; #define SJA_TSEG1 ((pParams->btr1 & 0x0f)+1) #define SJA_TSEG2 (((pParams->btr1 & 0x70)>>4)+1) #define SJA_BRP ((pParams->btr0 & 0x3f)+1) #define SJA_SJW ((pParams->btr0 & 0xc0)>>6) #define SJA_SAM ((pParams->btr1 & 0x80)>>7) int baudrate_m16c(int clk, int brp, int pr, int ph1, int ph2); int samplepoint_m16c(int brp, int pr, int ph1, int ph2); int SJA1000_TO_M16C_BASIC_Params(CPC_MSG_T *pMsg); #endif