飞思卡尔MC9S12DP256 CAN通信初始化代码示例.pdfVIP

  • 0
  • 0
  • 约9.88千字
  • 约 10页
  • 2026-02-27 发布于北京
  • 举报

飞思卡尔MC9S12DP256 CAN通信初始化代码示例.pdf

#includehidef.h#

include

mc9s12dp256.h//字节

指示器=0;//字节

canindicator=0;字节

sciflag;字节msgout[8];

字节ID[4];字节

SCI0_data[13];//字节

len;字节candata[8];字

节retval;

voidMSCAN0Init(void);void

interruptMSCAN0Rec(void);

//voidinterruptMSCAN1Rec(void);

voidMSCAN0Trans(字节*);void

SCI0_TRAN_MSCAN(字节*,字节*,字节);

/******************************************************************************

*********

函数名称:MSCAN0Init说明:此函数配置使用的MSCAN0的初始化状态。

*******************************************************************************

*********/

voidMSCAN0Init(void){

CAN0CTL1=0x87;

CAN0BTR0=0x4F;/*CAN0BTR0=0x4F;设置SJW=2,预分频值=16*///

CAN0BTR0=0x44;CAN0BTR10xE7;/*CAN0BTR1=0xE7;设置TSEG2=7,

TSEG1=8比特率=62.5k*/

CAN0IDMR0=0xFF;/*不使用过滤器,定义为接受所有传入消

息*/CAN0IDMR1=0xFF;CAN0IDMR2=0xFF;CAN0ID

MR3=0xFF;CAN0IDMR4=0xFF;CAN0IDMR5=0xFF;

CAN0IDMR6=0xFF;CAN0IDMR7=0xFF;

#includehidef.h

#includemc9s12dp256.h

//byteindicator=0;

//bytecanindicator=0;

bytesciflag;

bytemsgout[8];

byteID[4];

byteSCI0_data[13];

//bytelen;

bytecandata[8];

byteretval;

voidMSCAN0Init(void);

voidinterruptMSCAN0Rec(void);

//voidinterruptMSCAN1Rec(void);

voidMSCAN0Trans(byte*);

voidSCI0_TRAN_MSCAN(byte*,byte*,byte);

/******************************************************************************

*********

FunctionName:MSCAN0Init

Notes:ThisfunctionconfigurestheinitializationstateoftheMSCAN0used.

*******************************************************************************

*********/

voidMSCAN0Init(void){

CAN0CTL1=0x87;

CAN0BTR0=0x4F;/*CAN0BTR0=0x4F;setSJW=2,Prescalervalue=16*/

//CAN0BTR0=0x44;

CAN0BTR1=0xE7;/*CAN0BTR1=0xE7;setTSEG2=7,TSEG1=8BitRate=62.5k*/

CAN0IDMR0=0xFF;/*nofilter,d

文档评论(0)

1亿VIP精品文档

相关文档