IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 关于RF协议移植(温感器)的注意事项 -> 正文阅读

[嵌入式]关于RF协议移植(温感器)的注意事项

开发背景:

1.? 公司有一款RF低功耗产品,然后想在该产品上扩展一个RF(B端)的设备 。

由于B端设备的RF协议是旧版(二代),而现有的协议是新版(三代),两者之间的协议不兼容,协议帧格式不同,RF模块和软件不同 ,所以要做移植(迁移)

实施方案分析:

1. 方案A: 可以新建一个工程,在二代RF工程软件之上修改应用层,RF协议层不变。

2. 方案B: 可以在现有三代RF工程软件之上修改RF协议层,应用层不变。

最后分析讨论认为可以在同一版软件(工程)之上进行RF协议层修改和移植。

实施细则:

一开始我并不知道如何迁移协议层,后来大概清楚了怎么回事,要如何操作 。

总的说来就是:

1.将RF二代的协议文件 RF_B.c? ,RF_B.h? 加入到工程中,通过宏定义框起来,然后在串口收发函数中通过宏定义调用RF二代的串口收发处理函数(这里就是RF协议层的处理)。

2.? 找到串口收发的入口后,剩下的就是跟应用层功能函数的对接和调试。

期间遇到一些疑问或问题,也一一解决,现将主要的罗列出来,以备后续查看

1. 串口中断函数是否需要修改?

主要是串口中断接收函数,该函数接口已经在用,直接调用RF二代的接收函数。

?

2. 对于按键中断和处理函数需要做变更吗?

一般该功能不涉及到协议层,不需要变更。

3.? 协议层的核心是啥?

就RF协议层来说最主要的就是迁移RF串口接收函数,和发送函数接口。

在接收函数和发送函数中可能有些应用层的功能条件判断,这些应用层的功能可以删掉,只保留协议收发的部分 ,参照二代RF协议的收发机制,进行串口收发。

4. 当设置好串口收到函数接口后,接下来就是初步编译新软件,并确保可以编译成功。

5. 然后就是调试迁移过来的串口收发接口是否可以正常进行串口通讯。可以打开RF的串口收发debug, 确认Rfsend()的数据是否有ACK ?? 如果有ACK说明muc跟RF模块串口通讯正常。

6 . 下一步则是根据协议功能进行逐个实现和验证 。

一般首先验证RF配对(配网)/退网操作 ,该功能正常才能进行进一步的功能验证 。

这里我发现退网操作不可用,原来B端不需要退网操作。

7.? 接下来就是自检,联动测试,联动报警,静音等功能验证。

8.? 关于应用层,尽管说是不需要变更,但应用层的polling 定时器功能函数有许多是在RF.c 也就是协议层文档中,所以需要一并从三代RF.c 迁移到二代RF_B.c 中 。

9.? 最后说下重传功能函数,可能涉及到定时器使用,不一定用二代的定时器,用现在的即可。

综上,经过这一次协议迁移,对程序的理解更深了一步,对程序的操作也更加熟练了。

说实话,一开始感觉不知如何入手,但在同事的帮助下,和我自己的努力下,终于比较完美的实现协议的移植任务。软件成功送测。

?

?

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-08-19 19:22:29  更:2022-08-19 19:22:46 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 22:30:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码