论坛元老
 
- 积分
- 3448
- 金钱
- 3448
- 注册时间
- 2017-7-4
- 在线时间
- 869 小时
|
发表于 2021-6-10 14:46:10
|
显示全部楼层
本帖最后由 Acuity 于 2021-6-10 14:51 编辑
伪代码:- uint16_t decode_fun(uint8_t *src_data, uint16_t src_size, uint8_t *out_data)
- {
- uint8_t index = 0;
- uint16_t out_index = 0;
- for (index=0; index<src_size; index++)
- {
- if (ESC == src_data[index])
- {
- index++;
- if (0xE7 == src_data[index])
- {
- out_data[out_index++] = STX;
- }
- else if (0xE8 == src_data[index])
- {
- out_data[out_index++] = ETX;
- }
- else if (0x00 == src_data[index])
- {
- out_data[out_index++] = ESC;
- }
- else
- {
- /* todo error? */
- return 0;
- }
- }
- else
- {
- out_data[out_data++] = src_data[index];
- }
- }
-
- return out_index;
- }
复制代码
|
|