rs458.c 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #include "rs485.h"
  2. //-------------参数定义
  3. rs485RecDate s_rs485RecDate;
  4. rs485SendDate s_rs485SendDate;
  5. /**
  6. * @brief crc16计算
  7. * @param ptr: 数据首地址
  8. * @param len: 数据长度
  9. * @return
  10. */
  11. unsigned short mb_crc16(unsigned char *ptr, int len)
  12. {
  13. unsigned int i;
  14. unsigned short crc = 0xFFFF;
  15. while(len--)
  16. {
  17. crc ^= *ptr++;
  18. for (i = 0; i < 8; ++i)
  19. {
  20. if (crc & 1)
  21. crc = (crc >> 1) ^ 0xA001;
  22. else
  23. crc = (crc >> 1);
  24. }
  25. }
  26. return crc;
  27. }
  28. /**
  29. * @brief 485发送函数
  30. * @param data: 发送的数据
  31. * @param dataLen: 发送的数据长度
  32. * @note
  33. * @retval 无
  34. */
  35. void rs485_sendDate(uint8 data[], uint32_t dataLen){
  36. }
  37. /**
  38. * @brief 485接收分析函数
  39. * @param data: 接收到的数据
  40. * @note
  41. * @retval 无
  42. */
  43. void rs485_recDateAnalyse(uint8 data[]){
  44. }
  45. /**
  46. * @brief 轮询发送接收
  47. * @note
  48. * @retval 无
  49. */
  50. void rs485_poll_sendReceive(void){
  51. static uint8_t rs485Step = 0;
  52. switch(rs485Step){
  53. case 0:
  54. break;
  55. case 1:
  56. break;
  57. default: break;
  58. }
  59. }