CAN-bus接口控制实验

网友投稿 268 2022-10-29

CAN-bus接口控制实验

SetBitMask(REG_CAN_CMR,SRR_BIT); //使能自发送请求标志位return(1); //返回发送成功标志}else{Delay_ms(200); //延时200ms}return(0); //返回发送失败标志}}/*------------------------------------------------------------------------------------** 函数原型: void main(void)** 功能描述: 主函数** 参数说明: 无** 返回值: 无/*----------------------------------------------------------------------------------*/void main(){RESET_PIN=0;//将SJA1000的复位线与P1.0相连接Delay_ms(1);RESET_PIN=1;//控制P1.0来实现SJA1000的复位SJA_CS_Point=&CAN_SJA_BaseAdr; //确定SJA1000的基址ScanNum[0]=0; //不显示Display_Buffer[0]=0x1f;ZLG7290_SendDisBuf(Display_Buffer,0);ISendStr(ZLG7290,0x0d,ScanNum,1);Delay_ms(100);if(Send_Sja1000_Self()){Delay_ms(200);if((ReadSJAReg(REG_CAN_IR)==0x03)) //查询接收/发送中断位{WriteSJAReg(REG_CAN_CMR,4); //释放接收缓冲区ScanNum[0]=3; //扫描4位Display_Buffer[0]=0x0d; //显示GoodDisplay_Buffer[1]=0x15;Display_Buffer[2]=0x15;Display_Buffer[3]=0x10;ISendStr(ZLG7290,0x0d,ScanNum,1);ZLG7290_SendDisBuf(Display_Buffer,4);}else{ScanNum[0]=4; //扫描5位Display_Buffer[0]=0x18; //显示ErrorDisplay_Buffer[1]=0x15;Display_Buffer[2]=0x18;Display_Buffer[3]=0x18;Display_Buffer[4]=0x0e;ISendStr(ZLG7290,0x0d,ScanNum,1);

八. 实验程序流程图

图3.42 CAN 节点自发自收基本流程图九. 实验思考题(1) 请用户思考一下,如何编写CAN 总线数据的正常发送程序。(2) 请用户再思考一下,如何编写CAN 总线数据的接收程序。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:树莓派上使用 docker 部署 frp
下一篇:阿里巴巴如何改善开发人员在 K8s 上的体验?
相关文章

 发表评论

暂时没有评论,来抢沙发吧~