【社区人物志】专访马龙伟:轮子不好用,那就自己造!

Agile Modbus 轻量型协议栈 移植笔记 函数可以发现都是函数指针,使用什么方式绑定对应的指针函数就可以,但是不用我们自己绑定,有写好的代码,了解一下就可以,他的结构体也是一个封装原理。这里没什么讲的,就是把数据发送出去,这里要注意的就是第一个形参必须要是地址类型,因为发送长度不是固定的。,他就存到初始化时指向的数组里了,然后会返回一个长度,就可以通过串口发送了,发送完了要立刻接收,,这个是自己实现的接收我通过指针把他指向的地址的值修改了,然后返回修改了的长度。他三个形参就是解析地址,解析长度,解析完了寸哪的地址。进行解析了,实际上就是解析它。 阅读详情

在这里插入图片描述

Hi~RT-Thread社区开发者们:
【社区人物志】是 RT-Thread社区推出的新栏目,人物志将关注每一个对RT-Thread社区做出过贡献的小伙伴,会定期从 RT-Thread社区小伙伴中选出一位活跃的开发者进行专访,分享开发者们与RT-Thread的故事和缘分以及学习的方法和经验。再次感谢各位小伙伴对社区作出的贡献,你们对RT-Thread社区的支持和贡献我们都记在了心里,也期望更多的小伙伴们能够加入RT-Thread的生态建设中~

**本期开发者介绍:**马龙伟,论坛账号Cfly,RT-Thread社区专家,2022年RT-Thread全球技术大会讲师,Agile 全家桶软件包作者,获得 2019 及 2021 年RT-Thread社区杰出贡献奖

他的论坛主页:https://club.rt-thread.org/u/2c298f197058c516.html

作为RT-Thread社区中最活跃的开发者之一,马龙伟是如何与RT-Thread结缘的? 又是怎么成为RT-Thread社区杰出贡献者的?一起来看看他的专访内容~

Q:请先简单介绍一下自己(技术背景、工作经历、学习经历)
我毕业工作已经3年了,主要是在嵌入式底层技术开发这块。前面 2 年在物联网领域,现在转到了工业自动化行业。工作内容主要涉及到操作系统及中间件的移植、驱动调试等。

Q:您是怎么和RT-Thread结缘的?是什么让你对RT-Thread始终抱有热情的?
在第一家公司实习的时候领导提了一下后我去了解了下,发现它和 uCOS、FreeRTOS 用起来完全不一样,“小而美” 的理念贯穿了全部,特别是 Env 和 设备框架当时让我感觉很新奇,当时毕设也刚开始时间还很多就想着把它用起来。野火哥的 《RT-Thread 内核实现与应用开发实战指南》 这本书对我当时的学习起了很大的帮助。
刚开始还是萌新的时候加了一个群(具体是哪个忘记了),里面的人都很热情,社区和群也很活跃,自己在群友的帮助下也慢慢成长了起来。直到现在 RT-Thread 的社区也依旧非常活跃和开放,也认识了很多朋友探讨技术和生活。因为这样一群有趣热情的人,我的学习成长之路不孤单。

Q:作为RT-Thread社区杰出贡献奖的获得者,能否分享您的社区贡献经历或者经验吗?
第一次贡献还是毕设的时候第一次提交 Libmodbus 软件包,跟着官方的软件包提交教程一步步操作,涉及到要将自己的仓库的分支合并到官方也不是一次成功,主要是对于一些 git 的操作也不是很熟悉。
工作以后随着深入使用 RT-Thread,总觉得有些组件或软件包用起来不习惯,就想着我要自己造轮子。从最简单的 Led 开始到按键、网络调试、Ftp 服务器,自己的轮子也慢慢多了起来,一看人家都有全家桶我也要有就命名为 Agile 全家桶吧。每隔一段时间将自己的一些想法抽象出来作为新的家庭成员。

Q:您开发的Agile系列软件包颇受开发者好评,在这开发过程中有什么难忘的回忆吗?
文档!文档!还是文档!一样东西再好用但是你没有说明书或者是天书那就很难推广出去,可能自己某一天再去看它都会想我这写的啥?
最开始的时候写文档还是比较随意的,草草几百字结束,哪管洪水滔天。后面接触到了 Doxygen 后发现原来文档还能这样写,这时候我又立了个 Flag,我要把 Agile 全家桶文档重写,接下来就是痛苦的一段日子了,首当其冲的是 Agile Modbus,那几个晚上和周末熬夜写文档日子到现在还能记得,一个一个字憋出来的感觉让我想起来我上学写作文的时候。光有文档还不行,让开发者好用还要有完整的例子才行,接下来又是一段痛苦的日子。就这样 Agile Modbus 呈现出了现在的版本。
当文档通过工具生成出来的时候感觉之前的努力都是值得的。

Q:您在使用RT-Thread进行项目开发时,遇到最大的难点是什么?
应该是设备框架和 POSIX 吧,设备框架本就是一个新奇的东西,而且 RT-Thread 提供了很多的设备框架能够让你傻瓜式用起来,但是如何实现自己的底层驱动接入设备管理呢,这需要你去认同它的理念,忍过一段不适的时间。同时 POSIX 的对接也是一个很大的难点,select 实现的原理及如何对接更是需要对设备框架有一个很深的了解。

**Q:在嵌入式开发方面,您是通过哪些方式来提升自己的开发技能的呢? **
像 RT-Thread 贡献代码就是一个很好提升自己技能的方法。同时自己用到的组件或软件包中有比较好的想法的时候,花时间研究一下人家的代码,学习思想。一些人家的开源项目也可以拿来学习。自己突然想到什么好点子的时候把它实现出来且拿出来和大家分享讨论。

Q:你最喜爱的开发工具有哪些?在日常工作中会用到哪些?
最喜欢的工具 Env、Git 和 VS Code吧。VS Code 中很多插件都很有用,并且配合 Env 工具生成配置文件后写代码很流畅。

Q:工作/学习期间有遇到什么问题或挑战,您是怎么解决的呢?
我会尽可能的去解决工作中的难题,不拘泥于一种方法,卡住的时候和同事或朋友一起讨论下发散思维,要讲出来,我发现有好多问题自己描述着突然灵光就出现了。

Q:对于想要学习RT-Thread的开发者,您有哪些建议/经验想与他们分享?
学习的枯燥是不可避免的,但是了解透彻 RT-Thread 的设计思想才能在使用中更加得心应手,我建议买本官方的书籍花一段时间学习熟悉它的机制。同时可以从简单 demo 开始实现起来,一个一个模块的试过去看现象。遇到问题的时候可以在论坛上提问,论坛有很多热心的大神。

Q:您认为RT-Thread社区有哪些做得比较好的地方?还有哪些地方需要改进?
社区活跃度高,对开发者的响应很及时且各种线上线下活动很多。希望对一些好用的组件和软件包出个专门的推荐,让更多开发者选择起来更方便。

相关阅读:
【社区人物志】专访李路昌: 从普通打工人到在深圳安家的嵌入式攻城狮
【社区人物志】专访出出啊:聊一聊学习RT-Thread的方法和经验
牛人志|19岁开发者是如何成长为RT-Thread 杰出贡献者的?

agile_modbus移植 摘要:本文讲解了如何移植agile_modbus RTU部分 阅读详情

相关推荐

Agile Modbus STM32裸机移植 从机使用

初始化RTU/TCP环境 ( agile_modbus_rtu_init / agile_modbus_tcp_init )在本实验中只用到了agile_modbus.c、agile_modbus.h文件。Agile Modbus 是一个轻量级的 Modbus 协议栈,可以满足用户在任何场景下的需求。Agile Modbus时我们可以查看Agile Modbus帮助文档进行使用。需只要在回调函数中,根据功能码对应位置编写所需功能代码即可。根据帮助手册的指示进行移植Agile_modbus。

m0_65548585的博客 2340

RT-Thread中Agile Modbus软件包的使用

开发环境:野火的stm32f407,rt-thread studio版本是版本: 2.2.6,stm32f4的资源包为0.2.2,Agile Modbus软件包版本为v1.1.2。工程使用上一篇 RT-Thread中RS485驱动包的使用 工程为基础。单片机作为主站Master,从站使用软件Modbus Slave模拟。打开工程,添加软件包Agile Modbus,添加成功,先进行编译,查看是否有...

weixin_46158019的博客 5001

手把手教你用Agile Modbus协议栈实现RTU主从通信(附完整代码)

本文详细介绍了如何利用Agile Modbus协议栈实现工业级RTU主从通信,涵盖环境搭建、主从站开发、异常处理及性能优化等全流程。通过实战代码示例,帮助开发者快速掌握Modbus RTU通信技术,提升工业自动化设备的开发效率。

weixin_42715608的博客 256

轻量级modbus协议库

agile_modbus 即:轻量型 modbus 协议栈,是我在使用其他第三方库过程中进行归纳而形成的一个库。 仓库地址:https://github.com/loogg/agile_modbus

qq_35591467的博客 2763

RT-Thread GD32F4xx 软件包agile_modbus

GD32F4xx MCU的RT-Thread标准版工程,使用agile_modbus软件包实现Modbus RTU Master 、Slave。

madao1234的博客 908

GD32F4xx 移植agile_modbus软件包与电能表通信

GD32F4XX 移植agile modbus软件包实现与DTSU电能表通信调试记录

madao1234的博客 1303

MODBUS主机协议移植

最近由于项目需求需要移植的modbus主机协议,由于MODBUS主机的源码不开源,网上的例程也不多,在百度苦苦找寻一番没有什么结果。最后参考了安富莱的例程,将其修改并移植到自己的工程中。我通过USB转串口连接到电脑,用虚拟设备测试,读写正常。 以下是我的移植过程,最下面有STM32F1和MSP430F5的源码与MODBUS虚拟设备 下面使用的芯片是stm32f103zet6,IDE...

JT同学的博客 1万+

【20】GD32H7xx 串口实现modbus slave

GD32H7xx + agile modbus软件包 实现 modbus slave的方法,有详细实现代码

madao1234的博客 348

【亲测免费】 Agile Modbus 项目常见问题解决方案

Agile Modbus 是一个轻量级的 Modbus 协议栈,能够满足用户在各种场景下的需求。它支持 RTU 和 TCP 协议,使用纯 C 语言开发,不涉及任何硬件接口,可以在任何形式的硬件上直接使用。由于其使用纯 C 语言开发,不涉及硬件,因此可以在串口上运行 TCP 协议,在网络中运行 RTU 协议。此外,它还支持符合 Modbus 格式的自定义协议,能够同时支持多个主站和多个从站,使用简单...

gitblog_00846的博客 1026

Agile Modbus移植教程--基于GD32F103C8T6+RT-Thread+mdk5

Agile Modbus移植教程--基于GD32F103C8T6+RT-Thread+mdk5

Car12 3394

基于agile-modbus封装实现的跨平台modbus协议通信库

modbus_rt是一款完全基于C语言实现的可以运行在windows, linux, macos, RTOS上的modbus通信库。主要目的是针对控制系统和工业物联网的方向使用。 压缩包内包含文档、视频及使用第三方源码库(PikaPython-OpenHardware)。 modbus_rt可以同时支持slave模式和master模式,基于类似socket句柄的实现思想,可以很方便的支持多例模式。 它不仅仅是modbus协议的解析和实现,而是尽可能的在应用层做好实现和封装,做到开箱即用,而不需要做过多的应用层移植。

开放原子训练营(第四季)TobudOS- 添加agile_modbus功能包并演示modbus rtu主机模式

开放原子训练营(第四季)TobudOS- 添加agile_modbus功能包并演示modbus rtu主机模式

qq_29356039的博客 1895

modbus协议库移植.pdf

modbus协议,github相关下载地址,可以参考一下,modbus协议,github相关下载地址,可以参考一下,

nuc980开发板使用Agile Modbus软件包-基于 rs485 通讯

因为我们是 rtu-master,所以打开官方自带的 rtu_master 文件夹。查看串口初始化部分。此时编译并下载到开发板,肯定不能正常通信,还需要对 serial.c 文件进行适当的修改。打开下载的文件,文件工程的结构如下,包含doc、examples、inc、src等文件。不修改串口的初始化,通过配置控制引脚的输出高低电平来操作数据的收发。修改串口的初始化,配置为rs485模式,配置 RTS的引脚即可。思路:通过对控制引脚的控制,来控制数据的接收和发送。将修改后的代码进行交叉编译,并下载到开发板。

weixin_46158019的博客 1193

ETAP实战:如何用仿真软件快速绘制标准一次接线图(附模板下载)

本文提供了一套基于ETAP软件高效绘制标准一次接线图的完整实战工作流。从国标符号库配置、绘图模板创建,到核心设备绘制、参数标注,再到利用软件模型进行拓扑检查与短路电流校核,手把手教你实现从零到一的专业图纸设计。文末附有实用模板下载,助你大幅提升电力设计效率与图纸质量。

weixin_29291573的博客 509

华为HCIA-Datacom实战:200人企业园区网从规划到部署全流程解析

本文详细解析了华为HCIA-Datacom认证实战中200人企业园区网的规划与部署全流程。从需求分析、组网架构设计到设备选型、VLAN划分及安全策略实施,全面覆盖园区网建设的关键环节,特别针对部门隔离、无线覆盖和基础安全防护等典型场景提供可落地的解决方案。

f0g1h2的博客 710

[3]rt-thread-nano agile_modbus主机例程

[3]rt-thread-nano agile_modbus主机例程

qq_29356039的博客 2204

[4]rt-thread-nano agile_modbus从机程序

[4]rt-thread-nano agile_modbus从机程序

qq_29356039的博客 2408

大疆航线文件解析指南:5分钟搞懂KMZ里的template.kml和waylines.wpml区别

本文深入解析大疆无人机航线文件KMZ中template.kml与waylines.wpml的核心区别。template.kml是定义任务框架和全局参数的可编辑模板,而waylines.wpml是包含精确执行指令的最终文件。理解两者差异对于高效规划航线、批量生成任务及进行二次开发至关重要。

sun99的博客 864

别再手动填序号了!用Python脚本在Arcgis属性表里实现分组自动编号(附完整代码)

本文详细介绍了如何利用Python脚本在Arcgis属性表中实现分组自动编号,告别低效的手工操作。通过核心代码解析和实战教程,帮助GIS工程师快速掌握自动化编号技术,提升工作效率并降低错误率。特别适合城市规划、国土调查等需要处理大量分组数据的场景。

weixin_42532473的博客 306

Agile Modbus 项目推荐

Agile Modbus 是一个轻量级的 Modbus 协议栈,旨在满足各种场景下的用户需求。该项目使用纯 C 语言开发,不涉及任何硬件接口,因此可以在任何形式的硬件上直接使用。由于其轻量级和高效性,Agile Modbus 特别适合嵌入式系统和资源受限的环境。 ## 2. 项目核心功能 Agile Modbus 的核心功能包括: - **支持 RTU 和 TCP 协议**:项目同时支持 M...

gitblog_01037的博客 777

手把手教你玩转RISC-V指令集​​​专栏--​​1.2 对比x86/ARM:RISC-V的三大核心优势(开放、灵活、可扩展)​

​:RISC-V以“开放打破垄断、灵活适配场景、扩展定义未来”的三大优势,正在重塑计算架构格局。其核心价值不仅是技术革新,更是对全球半导体产业链话语权的重新分配。

amy_mhd的博客 130

一名富有激情的潮汕籍工程师的进阶之路:数据即未来

社区介绍: RT-Thread 是一个集实时操作系统(RTOS)内核、中间件组件和开发者社区于一体的技术平台,由熊谱翔先生带领并集合开源社区力量开发而成,RT-Thread 也是一个组件完整丰富、高度可伸缩、简易开发、超低功耗、高安全性的物联网操作系统。RT-Thread 具备一个 IoT OS 平台所需的所有关键组件,例如GUI、网络协议栈、安全传输、低功耗组件等等。经过11年的累积发展,RT-Thread 已经拥有一个国内最大的嵌入式开源社区,同时被广泛应用于能源、车载、医疗、消费电子等多个行业,累积装

rtthreadiotos的博客 1万+

YOLOv11改进策略【Neck】| PRCV 2023,SBA(Selective Boundary Aggregation):特征融合模块,描绘物体轮廓重新校准物体位置,解决边界模糊问题

SBA 模块在医疗图像分割中具有重要作用,其设计出发点是解决图像中物体边界模糊以及融合特征时的冗余和不一致问题。

Limiiiing的博客 1942

[VCS]门级仿真及SDF反标

摘要:门级仿真在STA工具普及后仍是验证的重要环节,主要用于检查SDC完备性、异步电路时序、网表完整性及为功耗分析提供波形。门级仿真分为不带时序反标的前仿和带SDF反标的后仿,后仿需加载SDF文件提供精确延时信息。VCS提供多种仿真选项控制时序检查行为,SDF反标可通过命令或系统函数实现。后仿需特别注意关闭notimingcheck选项以确保时序检查有效性,并建议检查SDF反标报告和波形验证延时一致性。

元直的博客 9787
上一篇: 【征文活动】亲爱的开发者,RT-Thread社区喊你投稿啦
下一篇: STM32 USB高速USB端口加持4G联网
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值