资源简介
单片机接收数据帧帧头帧尾校验数据解析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个文件信息
相关资源
- 单片机 多级菜单
- 模数转换器ADS1252 程序适用于c51系列的
- 篮球赛计时计分器毕业设计自己写的
- 51单片机超声波测距小车.rar
- 基于51单片机可调电子时钟
- 51单片机测量转速
- 基于51单片机的12864液晶显示C语言源程
- 51单片机做简易计算器
- ADC0809与80C52单片机
- 单片机流水灯C语言
- 基于51单片机多节点RS485通信带Protue
- 单片机 抢答器 C语言
- at89c51单片机+矩阵键盘编写的计算器
- 52单片机定时器2作为串行口波特率发
- 单片机与上位机收发程序c语言实现
- UTF8转GBK C语言 单片机
- 单片机频率计C语言程序
- 基于单片机的直流电机控制-proteus完整
- 项目16 基于单片机LCD数字测速仪的设
- 单片机应用技术C语言版[王静霞][源代
- 非常有用的单片机C语言程序.rar
- 单片机C语言程序设计实训100例:基于
- 义隆单片机c语言编译器
- 云龙51单片机视频教程,目前国内公认
- 基于单片机的秒表暂停,启动
- 51单片机简易秒表的设计(仿真图、程
- 迪文串口屏单片机历程
- 51单片机超声波测距KEIL+proteus.rar
- 昆仑通态屏做主机与STM32单片机从机之
- 单片机C语言程序设计实训100例02篇硬
评论
共有 条评论