自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 可变参数的宏__ VA_ARGS__的用法

在【ANSIC几种特殊的标准定义】中我们讲述了比较常用的几项:__FILE__:正在编译文件的路径及文件名__LINE__:正在编译文件的行号__DATE__:编译时刻的日期字符串 如“Jun 17 2017”__TIME__:编译时刻的时间字符串 如”1000“代码:char BuildFile[] = __FILE__;int BuildLine = __LINE__;char BuildDate[] = __DATE__;char BuildTime[] =

2022-05-18 15:14:03 1480

原创 SVN基本操作

关于使用SVN上传、添加、删除文件操作步骤1. 本地建立仓库:在本地新建文件夹,右键 —> TortoiseSVN —> Create repository here;2. 下载已有仓库:在本地新建文件夹,右键 —> Checkout —> 输入用户名密码、下载的文件路径;3. 更新本地仓库:选中仓库,右键 —> SVN Update;4. 上传本地文件:选中仓库,右键 —> SVN Commit;5. 添加文件:选中文件,右键 —> Tor

2022-05-12 15:52:25 261

原创 蓝牙/Zigbee多协议共用单个天线的通讯方法

蓝牙/Zigbee多协议连接扩展设备功能2019-11-14 15:00多协议连接提供了一种独特的方法来添加消费者和企业所要求的功能。为了在家庭或楼宇自动化场景中提供必要的可扩展性和稳定性,通过网状网络进行设备间通信是一种理想的实现方式。同时,能够直接从智能手机设置、控制或监视单个设备或一组设备的功能也是一种简化消费者体验并向技术人员提供更多即时诊断信息以辅助安装的特性需求。增值服务可以通过连接的设备(例如灯)进行交付,例如在零售环境中提供基于接近感知的广告,为技术人员传输系统健康信息以及.

2022-04-15 14:16:43 3307

原创 lwip 内存池与内存堆的空间定义

lwip v1.41:1、内存池定义#if MEMP_SEPARATE_POOLS //分别定义不同类型的内存池/** This creates each memory pool. These are named memp_memory_XXX_base (where* XXX is the name of the pool defined in memp_std.h).* To relocate a pool, declare it as extern in cc.h. Exampl...

2022-01-25 18:02:14 2155

原创 LWIP 版本号查看

lwIP的具体版本号信息可以在/lwip中的init.h文件中查询。如下:版本号为v1.41/** X.x.x: Major version of the stack */#define LWIP_VERSION_MAJOR 1U/** x.X.x: Minor version of the stack */#define LWIP_VERSION_MINOR 4U/** x.x.X: Revision of the stack */#define LWIP_VERSIO...

2022-01-25 17:40:01 2022

原创 LWIP之Mem原理分析

前言:前一章我们讨论了内存池的分配和回收的一些内幕,这一节我们将来讨论一下lwip的mem内存堆机制,那有的人就很好奇,既然有了内存池的管理机制了,为什么还要多此一举搞个内存堆管理呢?二者有什么区别,又或者各有什么优缺点呢? 这些疑惑将在这一节揭晓。1、memp相关宏以及变量的解释【1】宏定义解释1、MEM_USE_POOLS //使用内存池分配内存堆 2、MEM_LIBC_MALLOC //使用标准c函数库分配 3、MIN_SIZE ...

2022-01-25 15:45:40 815 1

原创 LWIP之Memp原理

前言 在这个色彩缤纷的时代,网络扮演着重要的角色,作为网络通讯的主要协议,TCP/IP协议就变得非常的重要,对于嵌入式系统来说,处理能力以及内存上的瓶颈导致嵌入式TCP/IP协议栈不可能像PC上的协议栈那么强大,而LWIP作为一个小型的开源免费的TCP/IP协议栈,以简洁,高效,占用内存少被广泛的使用在各类嵌入式网络应用中,本文就是基于LWIP的内存角度开展的。正文 本文将从三个角度来分析LWIP的memp内存池机制。【1】memp相关宏以及变量的解释【2】Memp的内存...

2022-01-25 10:57:35 1335

原创 单播、多播(组播)和广播的区别

简介一个制造商在生产制造网卡之前,必须先向 IEEE 注册,以获取到一个长度为 24bit 的厂商代码,也称为 OUI(Organizationally-Unique Identifier)。制造商在生产制造网卡的过程中,会往每一块网卡的 ROM 中烧入一个 48bit 的 BIA(Burned-In Address,固化地址)地址,BIA 地址的前 3 个字节就是该制造商的 OUI,后 3 个字节由该制造商自己确定,但不同的网卡,其 BIA 地址的后 3 个字节不相同。烧入进网卡的 BIA 地址是不能

2021-05-07 10:50:01 3228

原创 FREERTOS vTaskIncrementTick()函数解析

时间管理包括两个方面:系统节拍的维护,产生;以及任务延时管理。下面分别讨论下。时钟节拍操作系统总是需要个时钟节拍的,这个需要硬件支持。freertos同样需要一个time tick产生器,通常是用处理器的硬件定时器来实现这个功能。它周期性的产生定时中断,所谓的时钟节拍管理的核心就是这个定时中断的服务程序。freertos的时钟节拍isr中除去保存现场,灰度现场这些事情外,核心的工作就是调用vTaskIncrementTick()函数。比如CortexM3STM32中处理器的移植代码中,对应的..

2021-04-28 17:31:04 896

原创 STM32F446外设与定时器时钟分枝图详解

STM32F446外设与定时器时钟分枝图如下:APB1外设时钟最大为45MZHAPB1定时器时钟最大为45MZH*2=90MHZAPB2外设时钟最大为90MZHAPB2定时器时钟最大为90MZH*2=180MHZ    APB1控制的时钟寄存器RCC_APB1ENR如下:APB2控制的时钟寄存器RCC_APB1ENR如下:...

2019-01-31 10:49:17 1719 1

转载 创建github仓库

 github是一个网站,是目前最大的版本控制社区网站,用户可以在上面申请账号,并创建自己的版本仓库。 git是一个最原始的分布式版本控制系统,是开源的1. 注册github账号,并创建开源仓库github的官网地址是https://github.com/ ,注册成功之后显示页面如下:github官网上图红色框点击可以新建开源仓库。创建存储库 这样线上版本...

2019-01-11 09:54:07 217

空空如也

空空如也

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

TA关注的人

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