- 博客(29)
- 资源 (29)
- 收藏
- 关注
原创 热烈祝贺我的《Modbus 协议讲解及实现》视频课程在CSDN发布
本人的视频课程<<Modbus 协议讲解及实现>>视频课程在CSDN发布。<<Modbus协议讲解及实现>>课程简介课程背景Modbus 协议是工业自动化控制系统中常见的通信协议,协议的全面理解是个痛点。本课程主讲老师集10多年在Modbus协议学习、使用中的经验心得,结合当前物联网浪潮下Modbus协议开发的痛点,推出这套面向Mod...
2020-04-17 11:58:18
461
原创 4G AT命令解析框架LwAtParser V2.0设计及实现(基于uCOS II)--中级篇 第十章 MQTT案例
本文介绍了两种MQTT任务实现方案:Exam8工程采用两套独立代码实现两个MQTT任务(App_TaskMqtt1Proc和App_TaskMqtt2Proc),分别处理订阅和发布消息;Exam9工程则使用一套代码实现相同功能。调试方法包括分别联网、使用MQTT调试软件订阅/发布消息,并验证两个任务都能正确接收订阅消息。两种方案对比展示了MQTT任务的不同实现方式。
2026-02-23 10:28:32
199
原创 4G AT命令解析框架LwAtParser V2.0设计及实现(基于uCOS II)--中级篇 第九章 MQTT协议实现
本文介绍了MQTT协议的实现方案,主要包括三个部分:1)数据结构设计,包括接收数据数组、连接状态数组、邮箱和环形缓冲器;2)API接口函数实现,包含初始化、连接管理、订阅发布等12个核心功能函数;3)AT命令实现和任务集成。通过定义gMqtt_RxBuf等数据结构,并实现mqtt_init()等接口函数,完成了MQTT客户端的基本功能。最后将协议集成到完整工程Exam6中,经简单调试可正常运行。整个方案涵盖了MQTT协议从底层数据结构到上层接口的完整实现过程。
2026-02-18 15:36:34
960
1
原创 4G AT命令解析框架LwAtParser V2.0设计及实现(基于uCOS II)--中级篇 第八章 TCP案例
本文介绍了两种实现TCP任务的方案。8.1节展示了传统方法,使用两个独立函数(App_TaskTCP1Proc和App_TaskTCP2Proc)分别实现两个TCP任务。8.2节提出了优化方案,通过传递通道号参数(1和2)给同一个任务函数(App_TaskTCPProc),实现了代码复用。该方法将通道号转为void指针传递,在任务内部再转回整数,使单套代码可处理不同连接(18935和18936端口)。调试时建议逐个任务进行。这种参数化设计显著提高了代码的可维护性和扩展性。
2026-02-18 15:17:25
230
原创 4G AT命令解析框架LwAtParser V2.0设计及实现(基于uCOS II)--中级篇 第七章 TCP协议实现
本文介绍了TCP协议的具体实现方案。在数据结构方面,设计了接收数据数组、连接状态数组、邮箱和环形缓冲区等核心组件。API接口实现包括初始化、连接建立/关闭、数据读写等基础功能,以及驱动层数据交互接口。协议扩展性方面采用模块化设计,新增4g_tcp.h/c文件处理TCP命令,保留MQTT等协议扩展空间。最后通过TCPTask案例展示了连接建立(含60秒超时)、数据收发(非阻塞读取)和断线重连等典型应用场景,其中网络异常时返回-1,无数据时返回0。整个设计注重功能完整性和协议可扩展性。
2026-02-14 21:50:04
1020
原创 4G AT命令解析框架LwAtParser V2.0设计及实现(基于uCOS II)--中级篇 第五章 AT命令解析框架设计
5 AT 命令解析框架设计5.1 角色图我们的解析框架是单片机端的AT命令解析框架,显然单片机是Master,4G模块是Slaver。
2026-02-13 14:15:37
328
原创 4G AT命令解析框架LwAtParser V2.0设计及实现(基于uCOS II)--中级篇 第六章 4G入网驱动实现
本文介绍了4G入网驱动的实现方案,基于GD32F103RCT6硬件平台和MC660 4G模组。系统通过两个核心线程实现功能:AT_TaskExeProc负责串口数据解析,处理AT命令请求、应答及URC命令;AT_TaskCtrlProc实现4G模块入网及协议操作。文章详细说明了AT指令解析流程,包括查找帧边界、处理OK/ERROR响应和URC消息,最终目标是完成网络接入并获取IP地址。配套完整工程代码Exam1(4G驱动入网)可供参考。
2026-02-12 21:24:51
224
原创 4G AT命令解析框架LwAtParser V2.0设计及实现(基于uCOS II)--中级篇 第五章 AT命令解析框架设计
整体框架设计采用驱动和协议分立的思想,分为驱动部分和协议部分,驱动部分实现控制4g模块入网,获取到ip地址;协议部分提供tcp/udp协议,mqtt协议等协议的API,供应用层调用。此处实现了驱动程序与应用程序的分离,网卡驱动是驱动,应用程序是应用程序,两者分开,驱动程序之上可以是。API接口函数,通信,通过发送消息进行网络的打开和关闭等。通过发送指定的消息ID,进行AT命令的组帧。整体框架设计采用驱动和协议分立的思想,从字节流解析出完整的一帧命令,从串口接收到的数据,字节流。5AT 命令解析框架设计。
2026-02-11 15:46:47
176
原创 4G AT命令解析框架LwAtParser V2.0设计及实现(基于uCOS II)--中级篇 第四章 AT命令基础知识
本文介绍了AT命令的基础知识。AT命令是一种短文本命令语言,起源于1981年Hayes智能调制解调器,现广泛应用于GPRS、3G、4G和WIFI模组中。其基本语法以"AT"开头,以回车符结尾,每条命令最多1056个字符。命令结构包括请求命令和响应结果,响应代码以回车换行符为前后缀。文章还指出了AT命令解析的两个难点:一是语法不够严谨,数据中可能包含回车换行符;二是命令请求响应模式与URC(未请求结果码)并存的情况,增加了解析复杂度。这些基础知识为理解和使用AT命令提供了必要指导。
2026-02-11 15:33:45
266
原创 4G AT命令解析框架LwAtParser V2.0设计及实现(基于uCOS II)--中级篇 第三章 任务TASK建立基础
本文介绍了uCOS操作系统中任务间通信的三种机制。首先详细讲解了消息队列的使用方法,包括创建(OSQCreate)、等待(OSQPend)和发送(OSQPost)消息队列的操作,并提供了示例代码。其次阐述了消息传递的两种方式:值传递和地址传递,指出消息队列实质是通过地址传递全局变量。最后介绍了标志组的概念,通过导演和剧组的比喻说明标志组相比信号量在多任务同步中的优势。文章还简要提及了4G模组驱动与应用的分层设计,以及网络状态变迁。这些机制为嵌入式系统中任务间高效通信提供了解决方案。
2026-02-09 16:00:03
71
原创 4G AT命令解析框架LwAtParser V2.0设计及实现(基于uCOS II)--第二章 基于RTOS的串口三层软件架构设计
2 基于RTOS的串口三层软件架构设计串口软件架构可以分为三层,如下:疑问:很多开发人员为何觉得只有两层?答案:开发人员把应用层和数据链路层和一块了,判断一帧后,直接调用应用层的函数对数据进行处理了。通常要按分层设计的话,解析出一帧后通过消息或者函数调用,通知应用层处理,这样就体现出三层设计了。2.1。
2026-02-09 15:35:02
115
原创 4G AT命令解析框架LwAtParser V2.0设计及实现(基于uCOS II)--第一章,框架简介
本文针对单片机开发中AT命令解析的行业痛点,提出了一套基于RTOS的完整解析框架。传统AT命令解析存在格式不统一、逻辑混乱、可扩展性差等问题,作者基于十年物联网经验开发的解决方案支持TCP/UDP、MQTT、HTTP等多协议并行,采用事件驱动和模块化分层设计,运用任务、信号量等RTOS机制,已在uCOSII和FreeRTOS上验证。该框架提供封装函数如tcp_client_open(),大幅提升开发效率,适合1-5年经验的嵌入式开发者,能帮助开发者系统掌握AT命令架构,提升代码质量和开发水平。
2026-02-09 14:35:42
377
原创 4G 模组 AT 命令解析框架LwAtParser V2.0正式发布
资深工程师攻克4G模组通信难题,正式发布LwAtParserV2.0解析框架。该框架解决了物联网嵌入式开发中AT指令解析的痛点,实现了流畅、稳定、可靠的4G模组通信程序开发,为单片机工程师提供了高效的技术解决方案。
2026-02-07 21:56:00
129
原创 win10下基于qt开发的板卡测试软件
基于qt开发的板卡测试软件,使用qt自带的serialport控件,使用modbus协议,主界面线程与工作者线程分离,不卡界面。
2022-11-11 16:01:28
474
转载 STM32定时器中的更新操作与更新事件
我们知道【如果不知道先假设知道】,STM32定时器中的四个带影子特性的寄存器组,每组寄存器分别由 影子寄存器【即实际控制寄存器】和预装寄存器组成。其中,影子寄存器是真正起作用的控制寄存器,用户访问不到它。而预装寄存器是用户访问的为实际影子寄存器准备数据或指令的寄存器。它们分别是:TIMx_PSC 分频寄存器 TIMx_ARR 自动重装载寄存器TIMx_CCR捕捉寄存器 TIMx_RCR 重...
2020-02-23 15:49:39
11654
6
原创 *p++,(*p)++,*++p,++*p,*(p++)有什么不同?
我们定义如下:int a[5]={1,3,5,7,9};int *p = a;int Data = 0;例题1、Data = *p++;执行后,结果为:Data 为1,p指向a[1]。分析:* 和++,优先级相同,但是,++是后运算的。相当于下面两句:Data = *p;p++;例题2、Data = (*p)++;执行后,结果...
2020-02-20 22:11:35
1197
原创 串行通讯如何制定数据链路层---制定一帧
我们知道对于一帧数据,我们需要知道帧头,帧尾,这样我们就可以将数据解析出来,如下图,就是一个雏形帧。我们规定: 域名称 描述 帧头 帧起始标志,1字节,固定为0x7D 帧长度 帧数据的长度,2字节,高字节在前,低字节在后 帧数据 数据...
2020-02-18 20:51:31
491
2
原创 Modbus 协议基础
目录Modbus协议的由来Modbus协议的发展Modbus协议在中国Modbus协议的由来Mod,取自英文单词” Modicon”,Modicon 中文翻译为莫迪康,是美国一家自动化公司的名字,现在这家公司被法国的施耐德电气(Schneider Electric)收购。Bus,作为名词有两个意思,一个是公共汽车;另一个是总线(计算机系统的),我们知道在自动化系统中有很多种...
2020-02-07 20:24:31
1153
原创 S3C2440 之USB设备篇
S3C2440之USB设备篇S3C2440有2个USB主机接口和1个USB设备接口,本篇讲述USB设备接口。1 USB的分类及主机接口和设备接口的区别1.1USB2.0 按照速度分为以下三类High-speedUSB2.0:理论速度480Mbps,对应之前的USB2.0;Full-speed USB2.0:理论速度12Mbps,也就是过去的USB1.1;Low-speed USB2.0:理论速度1.5Mbps
2011-02-04 10:37:00
9128
4
转载 USB2.0速度识别
<br />原文地址: http://hi.baidu.com/doyanger/blog/item/af45d995dd64f419d31b704d.html<br /> <br /> USB2.0速度识别我们知道USB2.0向下兼容USB1.x,即高速2.0的hub能支持所有的速度类型的设备,而USB1.x的hub不能支持高速设备(High Speed Device)。因此,如果高速设备挂到USB1.x的hu
2011-01-18 16:21:00
3591
原创 S3C2440 摄像接口CamInit()函数初始化之分析
在调试2440 相机接口的时候碰到问题最多的就是这个CamInit()函数,下面贴上代码,分析之./* Description of ParametersCoDstWidth: Destination Width of Codec PathCoDstHeight: Destination Height of Codec PathPrDstWidth: Destination Width of Preview PathPrDstHeight: Destination Height of Pr
2011-01-14 16:32:00
2377
原创 s3c2440 LCD 配置的一点答疑--极性为什么有的不反转,有的不反转,还有字节交换使能这些是什么意思?都是LCDCON5寄存器的
<br /> <br /><br /> <br />对于RGB16来说,一个像素占2个字节,这样2个像素组合成1个字.<br />假如LCD面板上的某一行像素排列是P1 P2 P3 P4 P5 P6 P7 P8.<br />且我们定义unsigned int LCD_BUFFER[8]来存放像素数据.<br />那么LCD_BUFFER[0],LCD_BUFFER[1].....LCD_BUFFER[7]就是对应这8个点的数据.<br />这样LCD控制器拿到地址LCD_BU
2011-01-09 17:09:00
3404
转载 ITU601与ITU656
<br />原文地址 http://blog.csdn.net/zhandoushi1982/archive/2009/12/15/5013868.aspx<br /> <br />ITU601与ITU656都具有8根数据线并行传输数据,差别在于前者还需要场频和行频传输线。601概略图如下:<br /><br /> 656概略图如下:<br /><br /> 两者的区别在于:这两种标准都是video transmission 的 interface,在video frame for
2011-01-06 09:09:00
1509
转载 s3c2440的摄像接口应用
<br />原文地址:http://blog.csdn.net/zhaocj/archive/2010/06/07/5653479.aspx<br />s3c2440提供了一个摄像接口,使开发人员很容易地实现摄像、照相等功能。摄像接口包括8位来自摄像头的输入数据信号,一个输出主时钟信号,三个来自摄像头的输入同步时钟信号和一个输出复位信号。摄像接口的主时钟信号由USB PLL产生,它的频率为96MHz,再经过分频处理后输出给摄像头,摄像头再根据该时钟信号产生三个同步时钟信号(像素时钟、帧同步时钟和行同步时钟)
2011-01-05 13:41:00
996
转载 s3c2440的触摸屏应用与校正
<br />原文地址 :http://blog.csdn.net/zhaocj/archive/2010/04/21/5510536.aspx<br /><br /><br />触摸屏是当今最流行的一种人机交互接口,它被广泛地应用于手机等消费类电子产品中,目前这种技术有向PC机方向发展的趋势。基于原理的不同,触摸屏可以分为电阻式、电容式、表面声波式等。电阻式是应用较广的一种触摸屏,它的原理是通过测量横向和纵向的电阻值来获得触点的坐标。<br /> <br />s3c2440集成了4线制电阻式的触摸屏接口,触
2010-12-17 10:16:00
766
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅