自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (10)
  • 收藏
  • 关注

原创 MQTT通讯协议分析(三): 发布Publish

一. 测试环境 mosquitto(MQTT服务器,虚拟机VM ubuntu16.04) + Paho(MQTT客户端,windows10) + ESP8266(MQTT客户端) ESP8266客户端上电启动将连接mosquitto服务器, 并订阅“test/a”, 并开启按键任务扫描按键是否按下,按下则发布Publish消息,TopicName为"wi...

2019-06-13 11:10:25 2022

原创 MQTT通讯协议分析(二): 订阅Subscribe

一. 订阅Subscribe数据包 1. QoS=0(1,2),抓包分析:分析: Subscribe报文固定报头 82 : 其中bit7~bit4 :8 对应消息类型为Subscribe, bit3~bit0: 2 保留位 09 : 剩余长度 Subscribe报文可变报头 00 :...

2019-06-13 00:08:03 5075

原创 MQTT通讯协议分析(一): connect连接数据包

前言: 继上篇MQTT测试环境搭建后,接下来趁热打铁来分析MQTT通讯协议数据包,来加深对MQTT理解,因个人技术有限,若以下分析有误,望留言纠正,谢谢。 环境: MQTT服务器(Mosquitto,ubuntu) + MQTT客户端(paho, windows) + wireshark(抓包工具) 参考文献: MQTT-3.1.1-CN ...

2019-06-09 13:05:59 4047 2

原创 搭建MQTT测试环境(一): ubuntu安装MQTT服务器 + windows安装MQTT客户端

一. 为什么选择在ubuntu下安装服务器的原因 因为考虑后使用wireshark抓取MQTT数据包来进行对MQTT协议分析, mqtt客户端使用的是eclipse.paho.ui.app(安装在windows下,后续将介绍如何安装),如果将mqtt服务器安装在windows下,那么wireshark无法捕获localhost数据包(可能有其他办法搞定,总之没必要麻烦,而且将服务器安装...

2019-06-08 11:29:45 17821 11

原创 Linux + GCC + 创建动态链接库

1.接上一篇linux下使用GCC 编译器创建静态链接库后,这篇来介绍如何创建动态链接库。2. 还是一样,准备创建动态链接库的 源材料: .c 、 .h 文件,如下图:3. 编写简单的源文件后,之后创建Makefile,编写Makefile,具体如下:PS: 较静态链接库的Makefile的区别: (1)在第二行最后添加 -fPIC ,-fPIC 作用: 让编译器将

2017-12-26 21:09:07 802

原创 GCC+ LINUX +创建静态链接库

1.准备创建静态链接库的源文件: aston.c 、 aston.h,其中aston.c 中实现简单的打印调试信息,及返回2数相乘的结果值,具体如下图:(2)创建Makefile,具体描述:1.设置只编译不链接(只生产.o文件) 2.使用ar 命令 创建归档文件(即 .a 静态链接库文件)。具体如下图:(3)编写测试代码: test.c 。 注意:

2017-12-25 22:57:44 360

原创 KEIL 创建静态链接库+ 调用自己创建的静态链接库

1.为什么要创建静态链接库?当公司或者个人需要提供自己的编写的代码供他人调用时,而你或提供方并不想提供源代码(.c源代码),只想提供头文件.h(在头文件中申明函数)供他人调用,他人在调用时只需要知道调用的函数功能是什么,传递的参数是什么等,无需了解函数是怎样具体实现的。 此时就需要静态链接库(当然还有动态链接库,这里先讲解静态链接库的生成和使用)。2.如何在KEIL 中生成静态链接

2017-12-25 20:49:50 9075 1

原创 “指针数组”和“数组指针”的区别、函数指针定义及引用

1. 以int   *p[5],Int (*p)[5]为例子来分析。 首先要理解中文层面上来理解指针数组、数组的指针。先分析Int *p[5], 变量p为核心,然后判断* 和[5]的优先级哪个高,谁的优先级高,p就与谁先结合,从C语言的符号优先级表可知(优先级表读者可自行百度),[]的优先级高于*,所以p与[]先结合,故p[5]为数组,再*与p[5]结合,解析为数组p 有5个变量,且每个变

2017-12-07 14:51:38 250

原创 深记“volatile”的重要性

http://m.blog.csdn.net/wzk456/article/details/41028619

2017-12-02 20:54:06 221

原创 关于三星的dnw软件烧录bin引起的问题

1.如题,在s5pv210裸机实验中 ,通常使用usb方式烧录(通过三星的dnw软件),较为方便。 然而发现在程序代码中定义变量(不管是全局变量还是局部变量、static 局部变量 初始化都将不成功),如在看门狗中断实验中,每次看门狗发生中断,进入isr中断服务函数中,将静态局部变量i打印后,自加1,。代码如下图:结果打印(使用SecureCRT软件打印):解决方法

2017-11-28 23:17:02 385

原创 解决undefined reference to `__aeabi_uidiv'错误

1.在Makefile中添加 libgcc.a 路径,如下图:2.修改Makefile后,再次编译,会出现undefined reference to `raise',解决方法如下:在工程文件夹中任一.c文件中添加 int  raise(void)函数,具体如下图:PS: 本人在main.c 中定义了该函数。 注:int raise 函数也可以 定义成 如下: 该函

2017-11-28 19:33:54 8885

转载 ARM串口通信中的nRTS和nTS含义

nRTS和nCTS其实就是标准9针串口中的RTS和CTS,小写n打头表示这信号是低电平有效。RTS和CTS分别是请求发送信号和清除发送信号。前者由终端告知Modem可以向我传输数据;后者由Modem告知终端我要向你发送数据。

2017-11-14 22:52:22 1148

esp8266移植eclipse mqtt客户端例程.rar

eclipse mqtt源码分析(注释详细,目录结构清晰明了), 并移植到esp8266(不带ssl), 实现connect, pulish , subscribe等功能

2019-06-13

ubunt下安装nginx web服务器

手把手ubunt下安装nginx web服务器,包括安装前提;nginx源码下载以及目录结构认识;nginx的编译和安装;nginx的启动和简单使用

2019-04-10

基于STM32F103ZET,移植LWIP协议栈,sequential编程接口实现TCP服务器

基于STM32F103ZET,移植LWIP协议栈,sequential编程接口实现TCP服务器

2018-07-07

基于STM32F103ZET,移植LWIP协议栈,sequential编程接口实现TCP客户端

基于STM32F103ZET,移植LWIP协议栈,sequential编程接口实现TCP客户端

2018-07-07

基于STM32F103ZET,LWIP/TCP/IP,TCP服务器RAW实现

基于STM32F103ZET,网卡驱动为EN28J60,移植LWIP协议栈,实现TCP服务器,具备回显功能。

2018-07-03

基于STM32F103ZET,LWIP/TCP/IP,TCP客户端RAW实现

基于STM32F103ZET,移植LWIP协议栈,实现TCP客户端自动重连服务器,回显等功能

2018-07-03

基于STM32F103ZET,LWIP/TCP/IP,UDP客户端RAW实现

参考正点原子,朱升林老师嵌入式网络那些事书籍,基于STM32F103ZET移植了LWIP协议栈,实现UDP协议,采用RAW回调方式

2018-07-01

基于STM32F103ZET,LWIP/TCP/IP移植RAW实现

参考正点原子,和朱升林老师嵌入式网络哪那些事,基于STM32F103ZET移植了LWIP协议栈,使用RAW编程(回调方式),代码注释清楚,方便大家理解。

2018-07-01

STM32F103驱动AD7606,傅里叶采用交流信号

STM32F103驱动AD7606,傅里叶采用交流信号,采样5K频率进行采样,精确度可达千分之3以内

2018-04-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除