问题笔记.md 1.7 KB

  1. stm32f103c8t6串口打印异常: 不能同时debug,和打印串口。估计是运行内存不够。
  2. 串口接收的坑: HAL_UART_Receive_IT(&huart2, &rx_buffer, 20); 这里如果串口约定了20字节,那么触发这个回调的条件之一就是,串口接收到20字节。如果发生的字节数不够,那么不会触发,等待你下一次发生 数据。直到接收到20个字节,才会触发。会导致混乱。所以改成单字节获取。这样就可以接收不定长串口的数据了。
  3. 串口数据解析: 1E B1 58 52 D0 30:设备mac 原报文: 26 1E B1 58 52 D0 30 B8 1E 01 06 19 16 F7 FD 01 32 1D 48 85 C0 C5 4C 11 A9 B3 B6 DF B8 CD 91 E3 40 EE 2A DA 03 1B D5

26 AF 3C 43 AC EC 1B BA 1E FF 06 00 01 09 20 02 C5 F3 5C 7C 4A 7C 87 0B DE 45 AA 9C 14 A9 ED 58 F6 6F 4A 00 54 B7 EE

25 1B 4E 6F E2 42 2D AB 02 01 06 1A FF 4C 00 02 15 26 86 F3 9C BA DA 46 58 85 4A A6 2E 7E 5E 8B 8D 00 01 00 00 0B

15 FF 12 CC 3E 2D 54 00 00 20 48 0F C5 78 47 87 48 0F C5 78 47 87

26 6E 5E 3E B6 B9 17 AE 1E FF 06 00 01 09 20 22 D3 BD 05 1B 37 DA D1 9B 1D 34 16 85 95 68 AE 8D D6 1D B5 D1 75 13 CB

26 1E B1 58 52 D0 30 BD 1E FF 06 00 01 0F 20 02 C5 54 37 1F 8C A7 ED A9 9B B7 52 6D 59 7C E1 B0 65 00 59 D6 60 3D 42

26 2E 74 18 2E F8 10 B3 1E FF 06 00 01 09 20 22 5E 45 E1 50 B5 B5 9A 5D 82 63 24 D9 57 44 D2 3A 02 C5 4B D5 C7 3B 3F

1D 9E B9 6C C5 0F 48 A8 15 FF 12 CC 3E 2D 54 00 00 20 48 0F C5 78 47 87 48 0F C5 78 47 87 25 71 0B 1D 60 C8 F0 B6 02 01 06 1A FF 4C 00 02 15 FD A5 06 93 A4 E2 4F B1 AF CF C6 EB 07 64 78 25 2A 32 0B 71 C3