02-接收函数.c

来自「CAN现场总线.rar」· C语言 代码 · 共 34 行

C
34
字号
#include "reg52.h"
#include "sja1000.h"
unsigned char RXD_Buffer[13];

void CAN_RXD(void)
{
	unsigned char temp;

	temp = IR;
	if( temp & 0x01)                   //判断是否接收中断
	{
		RXD_Buffer[0]=RBSR0;         //读取RXFIFO
		RXD_Buffer[1]=RBSR1;
		RXD_Buffer[2]=RBSR2;
		RXD_Buffer[3]=RBSR3;
		RXD_Buffer[4]=RBSR4;
		RXD_Buffer[5]=RBSR5;
		RXD_Buffer[6]=RBSR6;
		RXD_Buffer[7]=RBSR7;
		RXD_Buffer[8]=RBSR8;
		RXD_Buffer[9]=RBSR9;
		RXD_Buffer[10]=RBSR10;
		RXD_Buffer[11]=RBSR11;
		RXD_Buffer[12]=RBSR12;

		CMR = 0X04;                  //释放RXFIFO中的空间
		temp = ALC;                   //释放仲裁随时捕捉寄存器
		temp = ECC;                   //释放错误代码捕捉寄存器
	}

	IER = 0x01;// .0=1--接收中断使能;

}

⌨️ 快捷键说明

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