自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 wireshark抓包工具详细说明及操作使用

wireshark是非常流行的网络封包分析软件,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。使用wireshark的人必须了解网络协议,否则就看不懂wireshark了。 为了安全考虑,wireshark只能查看封包,而不能修改封包的内容,或者发送封包。 wireshark能获取HTTP,也能获取HTTPS,但是不能解密HTTPS,所以wireshark看不懂HTTPS中的内容,总结,如果是...

2021-12-09 00:09:06 1101

原创 mqtt协议--理解

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。1.摘自RT_Thread-组件-网络组件-net组件AT 命令一开始并没有那么丰富,一开始是用作拨号的功能,也就是电话业务方面的内容。后来随着时间发展,AT 命令的范围也一步步进行了扩展,而逐渐支持了网络的一些功能,例如 TCP ,UDP 的功能;而到现在

2021-10-25 23:29:17 64

原创 bin、hex、axf和elf这四种格式的文件

关注+星标公众号,不错过精彩内容 作者 | strongerHuang 微信公众号 | 嵌入式专栏 在嵌入式软件开发中,bin、hex、axf和elf这四种格式的文件很常见。 之前我分享的STVP、ST-LINK Utility、STM32CubeProg这些下载编程工具的时候,都用到了bin、hex格式的文章。 作为普通嵌入式软件开发者,可能只知道如何使用他们,并不会在意这...

2021-10-19 23:34:49 181

原创 手把手教你查找stm32 HardFault_Handler调试及问题方法

版权声明:本文为博主原创文章,未经博主允许不得转载。https://blog.csdn.net/u013184273/article/details/84440177 在编写STM32程序代码时由于自己的粗心会发现有时候程序跑着跑着就进入了HardFault_Handler中断,导致异常的原因很多,例如:直接使用未分配空间的指针、栈溢出等一场非法操作便会使程序进入HardFault异常状态。按照经验来说进入Har...

2021-10-19 23:29:12 2753

原创 在MDK(Keil)下STM32进入“HardFault”异常错误查错调试方法

1、导致异常的原因有很多,例如:直接使用未分配空间的指针、栈溢出等异常非法操作便会使程序进入“HardFault”异常状态。 接下来在MDK工程中,编译代码,并debug,之后全速运行,可以看到如下图所示程序进入HardFault异常。 如下所示我们找到SP寄存器,0x200045B8即为栈地址,栈里面的值依次为R0~R3、R12、PC(Return address)、xPSR(CPSR或SPSR)、L...

2021-10-10 21:15:15 681

原创 KEIL软件中编译时出现的Error L6200E: symbol xxx multiply defined ...的解决方法

KEIL软件中编译时出现的Error L6200E: symbol xxx multiply defined …的解决方法问题描述:因为要使用CAN进行数据传输,因此在主程序“test.c”中采用#include “can.h”,调用“can.h”中的函数和变量。结果编译后出现许多Error L6200E: symbol xxx multiply defined ...原因:因为在“can.h”中定义了许多变量,“can.c”文件中采用#include “can.h”,调用“can.h”中的变量

2021-09-29 21:13:43 2242

原创 [RTOS]uCOS、FreeRTOS、RTThread、RTX等RTOS的对比之特点

最近正好又重新回顾了一下这几款OS,心里一直有个疑问,明明这几款RTOS是这么像,为什么还要搞出这么多个来呢,最后的结论就是,管他呢,反正哪个用的顺手用哪个。   本篇博客就来细数这几个RTOS的特点。   以下内容均来自官方网站或者官方手册Feature的Google翻译的加了我的一些调整,没有任何主观成分。 未经同意禁止转载,尊重别人的劳动成果!!!https://blog.csdn.net/wangyijieonline/article/details/77584726 1. FreeRT..

2021-09-25 00:52:27 1709

原创 FreeRTOS与uCOS II的比较(嵌入式实时系统)

目前嵌入式主流实时系统(RTOS)有uCOS、FreeRTOS,之所以很多第三方库都有在FreeRTOS上的应用Demo,是因为FreeRTOS免费。不要钱是真的厉害呀!然而说实话,论源码规范,我还是喜欢uCOS。 一、FreeRTOS比uCOS II优胜的地方: 1。内核ROM和耗费RAM都比uCOS 小,特别是RAM。 这在单片机里面是稀缺资源,uCOS至少要5K以上, 而FreeRTOS用2~3K也可以跑的很好。 2。FreeRTOS 可以用协程(Co-routine),减少RAM消耗(共用S.

2021-09-25 00:48:09 2198

原创 【C语言】typedef(自定义数据类型)与#define(宏定义)用法比较

  不管是在C语言还是在C++中,typedef这个词都不少见,当然出现频率较高的还是在C代码中。typedef和#define有些相似,但更多的是不同,特别是在一些复杂的用法上,就完全不同了。      1.宏定义(#define)      宏定义又称为宏代换、宏替换,简称“宏”。      格式:#def...

2021-09-01 21:42:59 68

原创 while(1)死循环与for(;;)死循环的区别

while(1)死循环与for(;;)死循环的区别两者区别:区别一:for式死循环更加高效一点区别二:编译出的程序代码大小不同结果:引言:单片机的编程中经常用到while(1)死循环来进行轮寻操作,但分析Linux内核源代码时却经常见到for(;;)作为死循环的条件。两者区别:区别一:for式死循环更加高效一点for(;;)死循环里的两个;;代表两个空语句,编译器一般会优化掉它们,直接进入循环体,不用进行判断。while(1)死循环里的1被看成表达式,每循环一次都要判断常量1是不是等于零。即,

2021-09-01 17:47:31 565

原创 IP地址与MAC地址的区别

IP地址是指互联网协议地址(Internet Protocol Address),是IP Address的缩写。IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。 MAC地址又称为物理地址、硬件地址,用来定义网络设备的位置。网卡的物理地址通常是由网卡生产厂家烧入网卡的,具有全球唯一性。MAC地址用于在网络中唯一标示一个网卡,一台电脑会...

2021-08-24 22:33:34 61

原创 RT_Thread自动初始化机制--__attribute__((section(x)))

关于__attribute__中section部分的一些了解一、__attribute__介绍:二、RT_Thread的自动初始化机制:问题:1.什么是RTI 符号段?2.为什么通过这些宏声明的函数会加入到RTI符号段?3.RT_Thread的RTI符号段的结构是什么?4.RTI符号段函数怎么样去自动调用?无论是GNU还是ARM的编译器, 都支持 __attribute__所指定的编译属性,这里着重讲解一下在KEIL 环境下__attribute__中的section的使用方法。一、__attribut

2021-05-25 22:19:53 195

原创 STM32存储结构& 存储器映射

本文参考《CM3权威指南》第五章 存储器系统              《STM32_参考手册》2.4 启动配置            ...

2020-04-16 23:01:00 805

空空如也

空空如也

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

TA关注的人

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