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

📄 01-发送函数.c

📁 CAN现场总线.rar
💻 C
字号:

#include "reg52.h"
#include "sja1000.h"

unsigned char Txd_data;

//CAN节点发送函数
void CAN_TXD(void)
{
	unsigned char bdata temp;
	do
	{
		temp=SR;		//判断报文接收完毕?	
	}
	while(temp&0x10);	//SR.4=0 发送闲置,SR.4=1 发送状态中

	do
	{
		temp=SR;		  //判断最后报文请求?	
	}
	while(!(temp&0x08));  //SR.3=0 没有余报文请求,SR.3=1 还存在报文请求

	do
	{
		temp=SR;		  //判断TXFIFO是否锁定?
	}
	while(!(temp&0x04));  //SR.2=0 锁定,SR.2=1 开放

	TBSR0=0x88;			//ff=1 SFF格式,DLC.3=1 数据长度8
	TBSR1='C';			//目标节点地址 CAN0
	TBSR2='A';
	TBSR3='N';
	TBSR4=0x00;
	TBSR5=Txd_data;		//数据
	TBSR6=0x00;
	TBSR7=0x00;
	TBSR8=0x00;
	TBSR9=0x00;
	TBSR10=0x00;
	TBSR11=0x00;
	TBSR12=0x00;
	
	CMR=0x01;			//命令寄存器-自动发送请求

}

⌨️ 快捷键说明

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