modbus txd发送程序

modbus程序

1. #include "ModBus.h"

2. //--------公有函数和变量-------

3. StrTxd xdata sys_txd;

4. /****************************************/

5. uint8 lchksum(uint8 data_len); //求LENTH_SUM函数

6. void txd_sta(void); //发送系统告警信息

7. void txd_man(void); //发送厂家信息

8. void txd_uni(uint8 cid2); //发送系统通信信息

9. /******************************************/

10. void package(void); //数据打包成ASCII码

11. void chksum (void); //求校验和

12. void com(void); //公共的发送函数

13. /******************************************/

14. uint8 lchksum(uint8 data_len)

15. {

16. uint8 sum,temp1;

17. sum = 0;

18. if (data_len)

19. {

20. sum = data_len & 0x0f;

21. temp1 = (data_len & 0xf0)>>4;

22. sum += temp1;

23. sum = sum %16;

24. sum = (~sum)+1;

25. sum = sum <<4;

26. }

27.

28. return sum;

29. }

30. /******************************************/

31. void package(void)

32. {

33. uint8 i;

34. uint8 temp1,temp2;

35.

36. sys_txd.pool[0] = FRAME_START;

37.

38. for(i = 1;i POOLLEN; i++)

39. {

40. if( (sys_txd.combuf[i] == 0xaa ) && (sys_txd.combuf[i+1] == 0x

55 ) ) //结束标志

41. {

42. sys_txd.pool[i*2-1] = FRAME_END;

43. break;

modbus txd发送程序相关文档

最新文档

返回顶部