CAN总线通信实验电路搭建与驱动程序设计基于口袋机综合实验设计
01实验目的02实验设备03实验原理04实验代码解析05实验步骤06实验现象目录07拓展思考08应用领域
一、实验目的了解EDA软件。程序的下载和仿真了解如何正确分配和配置单片机的I/O口熟悉和使用BMP180和MS5611气压芯片。
二、实验设备口袋机口袋机下载线JC-PM35模块JC-PM15实验扩展板
三、实验设备?实验器件简介: CAN是控制器局域网络(ControllerAreaNetwork,CAN)的简称,是由以研发和生产汽车电子产品著称的德国BOSCH公司开发的,并最终成为国际标准(ISO11898),是国际上应用最广泛的现场总线之一。在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN为底层协议专为大型货车和重工机械车辆设计的J1939协议。
三、实验原理?CAN总线通信模块原理图:原理图说明U1是CAN总线驱动器,U2是升压芯片功能说明CAN总线驱动器采用TJA1050,应为是最小5V供电,口袋机的扩展板只能输出3.3V,所以加了一个U2,FP6291,升压芯片,将3.3V升压到5V。CAN总线的TX接到口袋机的PB9CAN总线的RX接到口袋机的PB8
四、实验原理?模块引脚说明:
四、参考代码分析?CAN总线通讯配置函数详细配置函数见参考程序u8CAN1_Mode_Init(u8tsjw,u8tbs2,u8tbs1,u16brp,u8mode) //初始化u8CAN1_Send_Msg(u8*msg,u8len)//can发送一组数据(固定格式:ID为0X12,标准帧,数据帧),len:数据长度(最大为8),msg:数据指针,最大为8个字节.返回值:0,成功;其他,失败; u8CAN1_Receive_Msg(u8*buf)//can口接收数据查询;buf:数据缓存区; 返回值:0,无数据被收到;其他,接收的数据长度;
五、参考代码分析?主函数
五、实验步骤??1、将实验模块插在扩展模块的位置42、打开程序3、下载程序?
六、实验现象发送的口袋机显示CAN_SEND:0001020304050607每次发送8个字节,一秒发送一次两个气压芯片通讯正常接收的口袋机接收到数据
感谢大家的认真学习!祝大家生活、工作愉快!