candeal0.h

来自「含20个经典例程」· C头文件 代码 · 共 35 行

H
35
字号
//////////////candeal0.h/////////////////////
#include "can.h"
void transmit (char MsgNum) 
{	uchar num;
   	SFRPAGE = CAN0_PAGE;
	CAN0ADR = IF1CMDMSK;          
	CAN0DAT = 0x0087;             
	/*   IF1 Command Mask Registers  =0x0087
	WR/RD=1,Mask=0,Arb=0,Control=0,ClrIntPnd=0,TxRqst=1,DataA=1,DataB=1,一次发送8字节数据*/
	CAN0ADR = IF1DATA1;           
	/*将8字节数据写入IF1*/
	for(num=0;num<8;num++){
		CAN0DATH=sdata[num];
		num++;
		CAN0DATL=sdata[num];
	}
      	CAN0ADR = IF1CMDRQST;         
	CAN0DATL = MsgNum; //将以上配置写入MsgNum号CAN消息
}
void receive_data (uchar MsgNum)
{
   	uchar i;
   	SFRPAGE = CAN0_PAGE;
	CAN0ADR = IF2CMDMSK;       	
	CAN0DATL = 0x0f;          
	/*   IF1 Command Mask Registers  =0xxx0f
	WR/RD=0,Mask=0,Arb=0,Control=0,ClrIntPnd=1,NewDat=1,DataA=1,DataB=1,一次发送8字节数据*/
	CAN0ADR = IF2CMDRQST;      	
	CAN0DATL = MsgNum; //指向MsgNum号消息      	   
	CAN0ADR = IF2DATA1;     	 
	for(i=0;i<4;i++)
		rdata[i].tempval=CAN0DAT;//接收数据
	isnewdata=1;
 }

⌨️ 快捷键说明

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