Skip to content

本版本为V2.1.0发布前的测试版本。

Compare
Choose a tag to compare
@XeiTongXueFlyMe XeiTongXueFlyMe released this 08 Dec 08:15
· 14 commits to master since this release

可能出现的问题:

  • 地址竞争,动态地址分配等J1939网络功能占时不能使用。
  • 中断模式占时不能使用

协议特性:

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

重大改动

  • 【增加】J1939协议栈对多路CAN硬件的支持
  • 【增加】软件滤波器
  • 【增加】增加请求和响应API
  • 【增加】增加web版的J1939使用说明
  • 【优化】优化了J1939消息对象
  • 【重做】重做API函数的调用逻辑(改动导致V1与V2使用不兼容的原因)
  • 【重做】重做了移植函数
  • 【重做】重做了J1939_TP_RX_Message()API函数接口

支持的API接口

  • J1939_Initialization(BOOL)
  • J1939_ISR(void)
  • J1939_Poll(unsigned long ElapsedTime)
  • J1939_DequeueMessage(J1939_MESSAGE *MsgPtr)
  • J1939_EnqueueMessage(J1939_MESSAGE *MsgPtr)
  • J1939_TP_TX_Message(unsigned int PGN,unsigned char SA,char *data,unsigned short data_num)
  • 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)