bsp_protocol.c 738 B

123456789101112131415161718192021222324252627282930
  1. /********************** 头文件 *************************/
  2. #include "bsp_protocol.h"
  3. /********************** 变量区 *************************/
  4. /********************** 函数声明区 *************************/
  5. void send_protocol(uint8_t index,uint8_t cmd,uint8_t* dat,uint8_t datLen)
  6. {
  7. uint8_t buf[50]={0};
  8. uint16_t Len = datLen+5;
  9. uint16_t L=0;
  10. uint8_t i;
  11. uint8_t ver = 0;
  12. if(Len>128) return;
  13. buf[L++] = 0xAA; ver += 0xAA; //帧头
  14. buf[L++] = Len; ver += Len; //长度
  15. buf[L++] = ~Len; ver += (~Len);//长度反码
  16. buf[L++] = cmd; ver += cmd; //命令
  17. for(i=0;i<datLen;i++){ buf[L++] = dat[i]; ver += dat[i];} //数据
  18. buf[L++] = ver; //校验
  19. // bsp_esb_send(buf,L); //发送出去
  20. for(i=0;i<L;i++) app_uart_put(buf[i]);
  21. }