STM32-HT1200M-AD421之Hart从机方案设计代码(测试OK).docx

STM32-HT1200M-AD421之Hart从机方案设计代码(测试OK).docx

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

/****************************************************************************

*Copyright(c),2001-2060,ihealthlabs版权所有

****************************************************************************

*文件名称:hart_task.h

*版本:0.0.1

*作者:lvchunhao

*创建日期:2017年8月5日

*描述:Uart1-Hart通讯

1.中断接收/查询发送

2.

****************************************************************************/

#ifndef_HART_TASK_H

#define_HART_TASK_H

#ifdef__cplusplus

externC{

#endif

#includestdint.h

/***************************************************************

*1.主机长度最长为25字节,从机最长为27字节(只有从机有响应码2byte

*2.u8Start0x8000==0为主从短帧结构*从主短帧结构

u8Addr只用1个字节u8Addr[0]*同左

不需要使用u8Status[2]*需要使用u8Status[2]

*3.u8Start0x8000==1为主从长帧结构:*从主长帧结构

u8Addr需要全部使用5个字节u8Addr[5]*同左

不需要使用u8Status[2]*需要使用u8Status[2]

***************************************************************/

typedefstruct_tagStHartDataFrame

{

#if0

uint8_tu8Preamble[20];//前导符:作为通信同步的需要,5-20字节的0xFF,通常采用5个

字节

#endif

uint8_tu8Start;//定界符:主-从(短帧0x02长帧0x82)从-主(短0x06长0x86)突发

(0x01/0x81)

uint8_tu8Addr[5];//地址:短帧结构中1个字节,长帧结构中5个字节

uint8_tu8Command;//命令:范围为253个,用Hex表示,31127254255为预留值

uint8_tu8Bcnt;//长度:从该字节下一字节--到最后的字节数(不包括校验字节)

uint8_tu8Status[2];//响应码:只存在于从机响应主机消息的时候

uint8_tu8Data[25];//数据:最多25字节

uint8_tu8Parity;//校验:奇偶纵向校验,从起始字节--奇偶校验前一字节为止

}StHartDataFrame;

typedefenum_tagEmHartFrameType

{

TYPE_MAIN_SLAVE_SHORT_FRAME=0x02,//主机到从机短帧结构

TYPE_MAIN_SLAVE_LONG_FRAME=0x82,//主机到从机长帧结构

TYPE_SLAVE_MAIN_SHORT_FRAME=0x06,//从机到主机短帧结构

TYPE_SLAVE_MAIN_LONG_FRAME=0x86,//从机到主机长帧结构

TYPE_BURST_MODE_SHORT_FRAME=0x01,//突发模式短帧结构

TYPE_BURST_MODE_LONG_FRAME=0x81,//突发模式长帧结构

}EmHartFrameType;

voidUart1RecvData(uint8_tu8Data);

voidvTaskHartCommunicate(void*pArgs);

#ifdef__cplusplus

}

#endif

#endif/*_HART_TASK_H*/

/****************************************************************************

*Copyright(c),2001-2060,ihealthlabs版权所有

***********************

文档评论(0)

159****1944 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档