资源简介
单片机接收数据帧帧头帧尾校验数据解析C语言,采用VS2010编译器书写,已经通过验证,单片机里面也十分实用。双向链表方法。

代码片段和文件信息
/* main.c */
#include
#include “parser.h“
int main()
{
uint8 i;
// 数据头
uint8 data_header[5] = {0xAA 0xAA 0x04 0x80 0x02};
uint8 data_footer[2] = {0xA5 0X5A};
// 要解析的数据,测试用
uint8 data[] = {
0xAA 0xAA 0x04 0x80 0x02 0x00 0x02 0x7B 0xA5 0X5A
0xAA 0xAA 0x04 0x80 0x02 0x00 0x08 0x75 0xA5 0X5A
0xAA 0xAA 0x04 0x80 0x02 0x00 0x9B 0xE2 0xA5 0X5A
0xAA 0xAA 0x04 0x80 0x02 0x00 0xF6 0x87 0xA5 0X5A
0xAA 0xAA 0x04 0x80 0x02 0x00 0xEC 0x91 0xA5 0X5A
0xAA 0xAA 0x04 0x80 0x02 0x01 0x15 0x67 0xA5 0X5A
0xAA 0xAA 0x04 0x80 0x02 0x01 0x49 0x33 0xA5 0X5A
0xAA 0xAA 0x04 0x80 0x02 0x00 0xE7 0x96 0xA5 0X5A
0xAA 0xAA 0x04 0x80 0x02 0x00 0x68 0x15 0xA5 0X5A
0xAA 0xAA 0x04 0x80 0x02 0x00 0x3C 0x41 0xA5 0X5A
0xAA 0xAA 0x04 0x80 0x02 0x00 0x66 0x17 0xA5 0X5A
0xAA 0xAA 0x04 0x80 0x02 0x00 0xA5 0xD8 0xA5 0X5A
0xAA 0xAA 0x04 0x80 0x02 0x01 0x26 0x56 0xA5 0X5A
0xAA 0xAA 0x04 0x80 0x02 0x01 0x73 0x09 0xA5 0X5A
0xAA 0xAA 0x04 0x80 0x02 0x01 0x64 0x18 0xA5 0X5A
0xAA 0xAA 0x04 0x80 0x02 0x01 0x8B 0xF1 0xA5 0X5A
0xAA 0xAA 0x04 0x80 0x02 0x01 0xC6 0xB6 0xA5 0X5A
0xAA 0xAA 0x04 0x80 0x02 0x01 0x7B 0x01 0xA5 0X5A
0xAA 0xAA 0x04 0x80 0x02 0x00 0xCB 0xB2 0xA5 0X5A
0xAA 0xAA 0x04 0x80 0x02 0x00 0x2C 0x51 0xA5 0X5A
0xAA 0xAA 0x04 0x80 0x02 0xFF 0xE5 0x99 0xA5 0X5A
};
/**
* 初始化一个解析器
* 第一个参数是数据头
* 第二个参数是数据头长度
* 第三个参数是数据尾指针
* 第四个参数是数据尾大小
* 第五个参数是一整帧数据的大小
*/
DataParser *data_parser = parser_init(data_header sizeof(data_header) data_footer sizeof(data_footer) 10);
// 将要解析的数据逐个取出,添加到解析器中
for(i = 0; i < sizeof(data); i++)
{
// 解析数据,返回 RESULT_TRUE 代表成功解析出一组数据
if(parser_put_data(data_parser data[i]) == RESULT_TRUE)
{
printf(“成功解析出一帧数据...\n“);
/* 一位一位取出解析后的数据 */
printf(“第一个数据是:0x%x\n“ parser_get_data(data_parser 0));
printf(“第二个数据是:0x%x\n“ parser_get_data(data_parser 1));
printf(“第三个数据是:0x%x\n\n\n“ parser_get_data(data_parser 2));
}
}
// 当不再需要解析器时,应该把解析器释放掉,回收内存,避免造成内存泄漏
parser_release(data_parser);
while(1);
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-02-17 09:14 queue\
目录 0 2018-02-17 10:00 queue\queue\
目录 0 2018-02-17 09:38 queue\queue\Debug\
文件 32256 2018-02-17 09:51 queue\queue\Debug\queue.exe
文件 317684 2018-02-17 09:51 queue\queue\Debug\queue.ilk
文件 420864 2018-02-17 09:51 queue\queue\Debug\queue.pdb
目录 0 2018-02-17 09:15 queue\queue\ipch\
目录 0 2018-02-17 09:17 queue\queue\ipch\queue-7f1e603\
文件 1441792 2018-02-17 09:50 queue\queue\ipch\queue-7f1e603\queue-e1da8591.ipch
目录 0 2018-02-17 09:24 queue\queue\queue\
目录 0 2018-02-17 09:51 queue\queue\queue\Debug\
文件 2940 2018-02-17 09:51 queue\queue\queue\Debug\CL.read.1.tlog
文件 1440 2018-02-17 09:51 queue\queue\queue\Debug\CL.write.1.tlog
文件 7141 2018-02-17 09:51 queue\queue\queue\Debug\app.obj
文件 1894 2018-02-17 09:51 queue\queue\queue\Debug\cl.command.1.tlog
文件 2 2018-02-17 09:51 queue\queue\queue\Debug\li
文件 2 2018-02-17 09:51 queue\queue\queue\Debug\li
文件 2 2018-02-17 09:51 queue\queue\queue\Debug\li
文件 2 2018-02-17 09:51 queue\queue\queue\Debug\li
文件 2 2018-02-17 09:51 queue\queue\queue\Debug\li
文件 2 2018-02-17 09:51 queue\queue\queue\Debug\li
文件 2 2018-02-17 09:51 queue\queue\queue\Debug\li
文件 2 2018-02-17 09:51 queue\queue\queue\Debug\li
文件 2 2018-02-17 09:51 queue\queue\queue\Debug\li
文件 2 2018-02-17 09:51 queue\queue\queue\Debug\li
文件 1716 2018-02-17 09:51 queue\queue\queue\Debug\li
文件 3162 2018-02-17 09:51 queue\queue\queue\Debug\li
文件 922 2018-02-17 09:51 queue\queue\queue\Debug\li
文件 366 2018-02-17 09:51 queue\queue\queue\Debug\mt.command.1.tlog
文件 298 2018-02-17 09:51 queue\queue\queue\Debug\mt.read.1.tlog
文件 298 2018-02-17 09:51 queue\queue\queue\Debug\mt.write.1.tlog
............此处省略26个文件信息
相关资源
- 单片机c语言源程序(51定时器 八个按
- 用单片机控制蜂鸣器播放旋律程序(
- 合泰触摸单片机BS84B08C实际应用代码上
- 基于STM32单片机的心率体温测量仪
- 九齐单片机源码
- 单片机PID控制(C语言)
- 基于单片机的交通灯设计.doc
- C51单片机技术教程(304页)
- C51单片机交通
- 单片机C语言实战开发108例
- stm32库函数代码自动生成器V1.2
- 单片机电子密码锁
- 单片机程序(附初级、中级、高级共
- 按键可调万年历(单片机程序)
- 51单片机数码管四层电梯模拟系统
- 基于51单片机的温控系统
- 51单片机protues文件(KST-51.DSN)
- 51单片机交通灯设计
- 基于51单片机的简易计算器
- 单片机按键长按
- 基于51单片机多路超声波报警设计
- 51单片机红外智能小车
- 单片机控制绕线机.c
- qt上位机采集51单片机温湿度数据
- AVR单片机SPI通讯程序 (C语言源代码)
- BP神经网络C语言工程当前最终版
- 汉字取模软件----单片机使用必备
- 基于51单片机射频RFID卡考勤上课上班
- 可以在单片机上计算的BP神经网络C语
- 基于51单片机的888光立方设计.rar
评论
共有 条评论