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

📄 can.c

📁 不可多得的atmel公司canbus通讯程序(at90can128)
💻 C
字号:
//////////////////////////////////////////////////////////
//单向查询
//说明:
//		本程序是结点1,只负责接收
//////////////////////////////////////////////////////////
#define _CAN_H
#include "AT90CAN128.H"

#define SIT0		0
#define SIT1		1
#define SIT2		2
#define SIT3		3
#define SIT4		4
#define SIT5		5
#define SIT6		6
#define SIT7		7

void CAN_ClrMailBox(void) 
{ 
	uint8 mob_channel;
	uint8 mob_data; 

	for (mob_channel = 0 ; mob_channel < 15 ; mob_channel++)
	{
		CANPAGE = (mob_channel << 4);
		CANIDT4        = 0; 
		CANIDT3        = 0; 
		CANIDT2        = 0; 
		CANIDT1        = 0; 
		CANIDM4        = 0; 
		CANIDM3        = 0; 
		CANIDM2        = 0; 
		CANIDM1        = 0; 
		CANSTMOB = 0; 
		CANCDMOB = 0; 
		for (mob_data = 0; mob_data < 8; mob_data++) 
   			CANMSG = 0; 
	}
} 

void CAN_Init(void)
{
	uint8 i;
   
	CANGCON = BIT(SWRES);
	while (CANGSTA & BIT(ENFG));
	CAN_ClrMailBox();
	CANBT1 = 0x02;
	CANBT2 = 0x04;
	CANBT3 = 0x13;
	CANTCON = 0xFF;

	CANPAGE = 0x00;
	CANSTMOB = 0x00;
	CANIDT4 = 0x00;
	CANIDT3 = 0x00; 
	CANIDT2 = 0x40;
	CANIDT1 = 0x02;
   
  	CANIDM4  = 0xFF;
  	CANIDM3  = 0xFF; 
  	CANIDM2  = 0xFF;
  	CANIDM1  = 0xFF;
	CANCDMOB = 0x88;
	
	CANGCON = 0x02;
	while (!(CANGSTA & BIT(ENFG)));
}

⌨️ 快捷键说明

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