Skip to content

Version 2.1.0 稳定发布版

Latest
Compare
Choose a tag to compare
@XeiTongXueFlyMe XeiTongXueFlyMe released this 20 Jan 03:35
· 1 commit to master since this release

协议特性:

  • 易移植(不针对特定的CAN硬件,只要满足CAN2.0B即可)
  • 轻量级(可适应低端的MCU)
  • 支持多任务调用接口(接口可用于嵌入式操作系统)
  • 双模式(轮询或者中断,逻辑更加简单明了)
  • 不掉帧(数据采用收发列队缓存)
  • 多路CAN硬件

重大改动(与Version 1 稳定发布版对比)

  • 【增加】J1939协议栈对多路CAN硬件的支持(1~4路)
  • 【增加】软件滤波器
  • 【增加】增加请求和响应API
  • 【增加】增加web版的J1939使用说明
  • 【增加】重做了J1939_Read_Message()API函数接口
  • 【增加】重做了J1939_Send_Message()API函数接口
  • 【删除】重做了J1939_EnqueueMessage()API函数接口
  • 【删除】重做了J1939_DequeueMessage()API函数接口
  • 【删除】地址竞争(打算后面重做)
  • 【删除】动态地址配置(打算后面重做)
  • 【优化】优化了J1939协议栈调度
  • 【优化】优化了J1939消息对象
  • 【优化】优化了J1939初始化过程,及初始化代码
  • 【优化】优化了由于不同单片机的编译方式不同,出现的位反转,导致代码移植不成功,但是移植接口处的位反转还得自己注意修改。
  • 【重做】重做了备注风格
  • 【重做】重做API函数的调用逻辑(改动导致V1与V2使用不兼容的原因)
  • 【重做】重做了移植函数
  • 【重做】重做了J1939_TP_RX_Message()API函数接口
  • 【重做】重做了J1939_Poll()API函数接口
  • 【重做】重做了J1939_Initialization()API函数接口

支持的API接口

  • J1939_Initialization()
  • J1939_ISR(void)
  • J1939_Poll()
  • J1939_Read_Message( J1939_MESSAGE *MsgPtr, CAN_NODE _Can_Node);
  • J1939_Send_Message( J1939_MESSAGE *MsgPtr, CAN_NODE _Can_Node);
  • J1939_TP_TX_Message(j1939_uint32_t PGN, j1939_uint8_t DA, j1939_uint8_t *data, j1939_uint16_t data_num, CAN_NODE _Can_Node)
  • J1939_TP_RX_Message(TP_RX_MESSAGE *msg, CAN_NODE _Can_Node)
  • J1939_Request_PGN(j1939_uint32_t pgn ,j1939_uint8_t DA, CAN_NODE _Can_Node)
  • J1939_Create_Response(j1939_uint8_t data[],j1939_uint16_t dataLenght,j1939_uint32_t PGN,void (*dataUPFun)(),CAN_NODE _Can_Node)