[STM32] 大神们看过来。。。求解串口数据问题《8

[复制链接]
998|3
 楼主| joyphp 发表于 2017-6-23 10:24 | 显示全部楼层 |阅读模式
本帖最后由 joyphp 于 2017-6-23 10:29 编辑
  1. void USART_Send_IRdata2(void)
  2. {
  3.     u16 i,j;
  4.     u8 tmpL,tmpH,sum=0;
  5.      
  6.     USART1_Send_Byte(0xAA);  //start byte
  7.     USART1_Send_Byte(0xAA);  //start byte
  8.     USART1_Send_Byte(129);    //data length
  9.      
  10.     for(i=0;i<4;i++) //row
  11.     {
  12.         for(j=0;j<16;j++) // column
  13.         {
  14.             tmpL=IMAGE[i][j];
  15.             tmpH=IMAGE[i][j] >> 8;
  16.             USART1_Send_Byte(tmpL);
  17.             USART1_Send_Byte(tmpH);
  18.             sum = tmpL + tmpH + sum;
  19.         }           
  20.     }
  21.      
  22.     USART1_Send_Byte(sum+0xAA+0xAA+129);      
  23. }

这个代码发送的字串如下:
AA AA 81 B6 02 B4 02 BD 02 B7 02 AD 02 B7 02 B7 02 B4 02 B4 02 B8 02 BA 02 B2 02 B6 02 B0 02 AC 02 A1 02 BE 02 B8 02 B4 02 B4 02 B2 02 BB 02 BA 02 BB 02 B8 02 B9 02 BD 02 B8 02 B5 02 B6 02 B2 02 B4 02 C5 02 BD 02 B1 02 B9 02 B7 02 B7 02 BC 02 B9 02 B4 02 BD 02 B9 02 B6 02 BB 02 B8 02 BB 02 B3 02 B6 02 BA 02 BF 02 B6 02 B8 02 BD 02 BB 02 BD 02 B8 02 BA 02 B7 02 BD 02 B4 02 B9 02 B5 02 BC 02 2A
-------
1、我戳着手指数了下除掉开头的AA AA 81剩下的字串不含空格刚好258个,这个129的校验数*2才刚好一样,这个×2是潜规则?2、从B6 02看,tmpL=0xB6,tmpH=0x02,那么是否将tmpH<<8+tmbL=0x2B6这个数就是原始的数据?要不要0x2B6/2?

 楼主| joyphp 发表于 2017-6-23 10:28 | 显示全部楼层
怎么丢字了?
2、从B6 02看,tmpL=0xB6,tmpH=0x02,那么是否将tmpH<<8+tmbL=0x2B6这个数就是原始的数据?要不要0x2B6/2?
kingkits 发表于 2017-6-23 11:10 | 显示全部楼层
AA AA 81
B6 02 B4 02 BD 02 B7 02   0
AD 02 B7 02 B7 02 B4 02   1
B4 02 B8 02 BA 02 B2 02   2
B6 02 B0 02 AC 02 A1 02   3
BE 02 B8 02 B4 02 B4 02   4
B2 02 BB 02 BA 02 BB 02   5
B8 02 B9 02 BD 02 B8 02   6
B5 02 B6 02 B2 02 B4 02   7
C5 02 BD 02 B1 02 B9 02   8
B7 02 B7 02 BC 02 B9 02   9
B4 02 BD 02 B9 02 B6 02  10
BB 02 B8 02 BB 02 B3 02  11
B6 02 BA 02 BF 02 B6 02  12
B8 02 BD 02 BB 02 BD 02  13
B8 02 BA 02 B7 02 BD 02  14
B4 02 B9 02 B5 02 BC 02  15
2A  
我摆着脚趾头数了一遍,应该是128+4 =132 个
 楼主| joyphp 发表于 2017-6-23 11:30 | 显示全部楼层
kingkits 发表于 2017-6-23 11:10
AA AA 81
B6 02 B4 02 BD 02 B7 02   0
AD 02 B7 02 B7 02 B4 02   1

哦,原来是这样数才对。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

7

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部