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

📄 gz60-can-function

📁 GZ60的can通信源程序 用c语言编写
💻
字号:
								
		 //------------------------------------------------------------------------------------------------//
//程序名:void CANInit(unsigned char time1,unsigned char time0)
//功能:CAN初始化
//入口:无
//出口:无
//说明:在4M CAN总线频率下将总线速率设为200kbps,
//      节点标识符设为0
//--------------------------------------------------------------------------------------------------//
void CANInit(void)
{
   CMCR0_SFTRES=1 ;//控制寄存器的软复位标志为1
   CMCR1_CLKSRC=0; //MSCAN08时钟源选择外部晶振(二分频);即若外部晶振为16M时,fmscan=8M	  //
   CMCR1_LOOPB=1;   //自测方式
   CMCR1_WUPM=1;
   CBTR0=0x01;      //同步跳转宽度为1,预分频因子为2
   CBTR1=0x25;    //同步跳转宽度=1(Tq),时间段1=6(Tq),TSEG2=3(Tq) 位时间=1+6+3=10(Tq);
                       //速率设为400kbps   
   CIDAC=0x00;       //1次验收滤波器模式
   CIDAR0=0b00000001;      
   CIDAR1=0b01000000;			//给接收代码寄存器0-1赋值,节点标示符号为10
   CIDMR0=0x00;     //给接收屏蔽寄存器0-1赋值
   CIDMR1=0x1F;
   CMCR0=0x00;  //正常模式					  
}
 //------------------------------------------------------------------//
//程序名:unsigned char CANsnd1DFrm(unsigned int rid, 
//   unsigned char * databuf,unsigned char len)
//功能:CAN发送1帧(数据长度<=8)处理子程序
//入口:unsigned int rid---报文标识符,
//      unsigned char * databuf---报文数据区首址
//      unsigned char len---报文数据长度
//出口:unsigned char CANsnd1DFrm --- 发送成功与否标志,
//     =0,没有空闲发送缓冲区,发送不成功;=1,发送成功
//说明:在发送数据之前,先查询是否有空闲发送缓冲区
//      若无,则不能发送,返回0。
//------------------------------------------------------------------//

⌨️ 快捷键说明

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