当前位置: 首页 > wzjs >正文

一级a做爰全过程片老鸭子网站河南郑州最新事件

一级a做爰全过程片老鸭子网站,河南郑州最新事件,顺德企业网站制作,中央农村工作会议内容和精神kw_charProtocol库说明 本库针对字符数据流类型设备,接收发送特定协议帧制作的微库。可以裸机运行,也可以配合实时操作系统运行。 本库开源连接地址:gitee连接 实现思路 本库采用C语言进行编程,方便移植,用户通过调…

kw_charProtocol库说明

本库针对字符数据流类型设备,接收发送特定协议帧制作的微库。可以裸机运行,也可以配合实时操作系统运行。

本库开源连接地址:gitee连接

实现思路

本库采用C语言进行编程,方便移植,用户通过调用库接口函数即可使用。

以[YY6500传感器]为例,对应,该传感器采用串口作为通信接口。

主要接口函数如下:

项目函数功能备注
1kw_CPInitPara初始化注册协议变量对象,包括:
1. 异步队列数组
2. 接收数组
3. 发送数组
2kw_CPSetHead注册协议包头
3kw_CPRegisterTailCB注册协议包尾
4kw_CPRegisterCheckCB注册校验和回调
5kw_CPRegisterFrameCB注册解完整数据包回调
6kw_CPDecode周期解码
7kw_CPReceiveByte接收字符流数据

主要变量如下

项目变量类型说明
1_g_cpYY6500kw_charProtocol_s协议对象
2_g_YY6500Queue接收队列数组unsigned char[]
3_g_YY6500RBuf接收数组缓存unsigned char[]
4_g_Head包头unsigned char[]

需要实现的协议接口如下:

项目接口说明
1_IsTail包尾判断
2_IsCheckOK校验和判断
3_frame完整数据包回调

测试代码

协议代码

#include "CP_YY6500.h"#ifdef CONFIG_KW_CPkw_charProtocol_s _g_cpYY6500;
unsigned char _g_YY6500Queue[128];
unsigned char _g_YY6500RBuf[128];
unsigned char _g_Head[1] = {0x16};
unsigned char _YY6500_Tmp[4] = {0};
cp_YY6500_e _g_YY6500_Flag = CP_YY6500_NONE;cp_YY6500_s _g_YY6500;static bool _IsTail(kw_frame_s *p, unsigned char in);
static bool _IsCheckOK(kw_frame_s *p);
static void _frame(kw_frame_s *p);void CP_YY6500Init()
{kw_CPInitPara(&_g_cpYY6500,_g_YY6500Queue, sizeof(_g_YY6500Queue),_g_YY6500RBuf, sizeof(_g_YY6500RBuf),0, 0);kw_CPSetHead(&_g_cpYY6500, _g_Head, sizeof(_g_Head));kw_CPRegisterTailCB(&_g_cpYY6500, _IsTail);kw_CPRegisterCheckCB(&_g_cpYY6500, _IsCheckOK);kw_CPRegisterFrameCB(&_g_cpYY6500, _frame);
}void CP_YY6500Decode()
{kw_CPDecode(&_g_cpYY6500);
}void CP_YY6500SendResult(cp_YY6500_e type, int (*send)(unsigned char *datas, unsigned int len))
{if (send != 0 && type < CP_YY6500_MAX && type > CP_YY6500_NONE){_YY6500_Tmp[0] = 0x11;_YY6500_Tmp[1] = 0x01;if(type == CP_YY6500_RESULT){_YY6500_Tmp[2] = 0x01;_YY6500_Tmp[3] = 0xED;}else if(type == CP_YY6500_VERSION){_YY6500_Tmp[2] = 0x1E;_YY6500_Tmp[3] = 0xD0;}else if(type == CP_YY6500_NO){_YY6500_Tmp[2] = 0x1F;_YY6500_Tmp[3] = 0xCF;}send(_YY6500_Tmp, 4);_g_YY6500_Flag = type;}
}void CP_YY6500Receive(unsigned char in)
{kw_CPReceiveByte(&_g_cpYY6500, in);
}static bool _IsTail(kw_frame_s *p, unsigned char in)
{return p->wIdx > 4 && p->wIdx == p->buf.buffer[1] + 2;
}static bool _IsCheckOK(kw_frame_s *p)
{unsigned char sum = 0;for (unsigned char i = 0; i < p->wIdx - 1; i++){sum += p->buf.buffer[i];}return (p->buf.buffer[p->wIdx - 1] + (sum)) & (0xFF) == 0xFF;
}static void _frame(kw_frame_s *p)
{if (_g_YY6500_Flag == CP_YY6500_RESULT){_g_YY6500.nongdu = (p->buf.buffer[3] << 8) + p->buf.buffer[4];_g_YY6500.liuliang = (p->buf.buffer[5] << 8) + p->buf.buffer[6];_g_YY6500.wendu = ((p->buf.buffer[7] << 8) + p->buf.buffer[8] - 500);_g_YY6500.res = (p->buf.buffer[9] << 8) + p->buf.buffer[10];_g_YY6500_Flag = CP_YY6500_NONE;}else if(_g_YY6500_Flag == CP_YY6500_VERSION){for (unsigned char i = 0; i < 8; i++){_g_YY6500.version[i] = p->buf.buffer[i + 3];}_g_YY6500_Flag = CP_YY6500_NONE;}else if(_g_YY6500_Flag == CP_YY6500_NO){for (unsigned char i = 0; i < 10; i++){_g_YY6500.NO[i] = p->buf.buffer[i + 3];}_g_YY6500_Flag = CP_YY6500_NONE;}
}#endif
#ifndef _CP_YY6500_H
#define _CP_YY6500_H#ifdef __cplusplus
extern "C"
{
#endif
#include "kw_baseDrvCFG.h"
#ifdef CONFIG_KW_CPtypedef enum _cp_YY6500_e{CP_YY6500_NONE,CP_YY6500_RESULT,CP_YY6500_VERSION,CP_YY6500_NO,CP_YY6500_MAX,} cp_YY6500_e;typedef struct _cp_YY6500_s{unsigned short nongdu;unsigned short liuliang;short wendu;unsigned short res;unsigned char version[8];unsigned char NO[10];} cp_YY6500_s;void CP_YY6500Init();void CP_YY6500SendResult(cp_YY6500_e type, int (*send)(unsigned char *datas, unsigned int len));void CP_YY6500Decode();void CP_YY6500Receive(unsigned char in);#endif#ifdef __cplusplus
}
#endif#endif

主函数调用


#include "CP_YY6500.h"static void _hal_uartRecv(unsigned char data)
{CP_YY6500Receive(data);
}void main()
{HAL_UARTInit();CP_YY6500Init();while (1){CP_YY6500Decode();}
}
http://www.dtcms.com/wzjs/145354.html

相关文章:

  • 铜川网站建设公司电话win7优化大师好不好
  • 个人网站备案号被注销了青岛谷歌优化公司
  • 绵阳吉工建设seo站长常用工具
  • 国企网站建设要求百度热门
  • 制作网站作品seo优化及推广如何运营
  • 大连哪有做网站的网页设计怎么做
  • 北京天仪建设工程质量检测所网站国内专业seo公司
  • 网站建设与推广话术seo服务外包客服
  • 菏泽市建设职工培训中心网站网址搜索域名查询
  • 网址经营是什么搜索引擎优化公司排行
  • 政府网站的微信微博建设最近国内新闻
  • 乐清网站制作公司做引流推广的平台
  • 济南建网站公seo网络优化师
  • 个人如何做问答类网站seo网站推广工作内容
  • 连云港市建设局网站产品推广网站
  • cdr可以做网站页面吗经典软文案例或软文案例
  • 建设工程规划许可证在哪个网站查询河北网站seo外包
  • 模板免费网站seo快速排名利器
  • 免费软件网seo的范畴是什么
  • 自建站需要注册公司吗石家庄头条今日头条新闻
  • 响应式网站建设代理商搜索广告
  • 做网站可以用哪些软件搜索引擎排名优化seo
  • 装修高端网站建设搜索引擎优化seo怎么做
  • 谷歌seo排名seo网站管理招聘
  • 深圳网站建设设计江门网站开发多少钱
  • python做网站安全性精品成品网站源码
  • 公司网站栏目产品宣传方式有哪些
  • 深圳市住房和建设委员会网站中国网站建设公司
  • 沧州网站制作公司长尾关键词网站
  • 网站登录界面模板htmlseo咨询顾问