CAN现场总线.rar

源代码在线查看: 01-发送函数.c

软件大小: 391 K
上传用户: l550253832
关键词: CAN 现场总线
下载地址: 免注册下载 普通下载 VIP

相关代码

				
				#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;			//命令寄存器-自动发送请求
				
				}
							

相关资源