自定义博客皮肤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)
  • 收藏
  • 关注

原创 【ESP32】Ubuntu下开发环境搭建(踩坑后)

第零步:安装Ubuntu安装VMware Workstation下载Ubuntu镜像第一步:安装准备Linux平台工具链的标准设置sudo apt-get install git wget flex bison gperf python3 python3-pip python3-setuptools cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0在Linux上查看端口ls /dev/tt

2021-05-10 14:09:37 375 1

原创 【数据结构】二叉树学习笔记

二叉树二叉树的遍历先序遍历中序遍历后序遍历层序遍历输出叶子结点完整代码二叉树的遍历链式存储typedef struct TreeNode *BinTree;struct TreeNode{ int Data; BinTree Left; BinTree Right;};先序遍历遍历过程:访问根节点先序遍历其左子树先序遍历其右子树遍历结果为:A B D F E C G H Ivoid PreOrderTraversal(BinTree BT){

2020-12-01 19:03:34 244

翻译 Cortex-M CPU架构基础

不同于老的经典arm处理器(例如:ARM7,ARM9),ARM Cortex-M 处理器有一个非常不同的架构,Cortex-M是一个家族系列,其中包括Cortex M0/M3/M4/M7多个不同型号,每个型号之间会有些区别,例如Cortex-M4比Cortex-M3多了浮点计算功能等,但它们的编程模型基本是一致的。寄存器简介Cortex-M系列CPU的寄存器组里有R0~R15共16个通用寄...

2019-02-28 14:02:39 5394 1

原创 关于GCC编译流程的学习

GCC仅仅是一个编译器,没有界面,须在命令行模式下使用。通过gcc命令将源文件编译成可执行文件1.生成可执行程序其中a.out就是最终生成的可执行文件如果不想使用默认的文件名,那么可以通过-o选项来自定义文件名因为 Linux 下可执行文件的后缀仅仅是一种形式上的,所以可执行文件也可以不带后缀2.运行可执行程序实际上,gcc命令也可以将编译和链接分开...

2019-02-19 17:11:35 292

原创 关于BLE广播、扫描和连接事件

1.广播事件通用广播:最常用的广播方式,可以被扫描,接收到连接请求时可以作为从设备进入一个连接。 定向广播:针对于快速建立连接的需求,定向广播会占满整个广播信道,数据净荷只包含广播者和发起者地址,发起者收到发给自己的定向广播后,会立即发送连接请求。 不可连接广播:广播数据,而不进入连接状态。 可发现广播:不可连接,但可以响应扫描。BLE广播间隔:是指两次广播时间之间的最小时间间隔,一般...

2019-02-12 17:17:24 4182

原创 关于BLE的体系结构学习

蓝牙低功耗包含三个部分:控制器、主机和应用程序。1.物理层(Physical Layer, PHY)调制方式:GFSK,高斯频移键控 工作在2.4GHz ISM频段。频率范围:2.4-2.4835 GHz 40个RF信道(f=2402+k*2MHz, k=0,...,39),信道间隔2MHz,其中包括3个固定的广播信道,37个自适应跳频的数据信道 无线速率:1Mbps、2Mbps...

2019-02-12 16:40:01 1005

原创 关于sizeof()和strlen()的理解

如题问:是否可以输出“Hello World”?答:不能输出。输出结果为“Hell”。运行结果如下:由上可知char占用1字节、short占用2字节、int占用4字节、数组占用类型*长度个字节、long占用4字节、float占用4字节、double占用8字节运行结果如下:由上可知strlen(字符串数组)=数组实际长度 sizeof(字符串数组)...

2019-01-14 16:01:59 222

原创 关于嵌入式开发中堆栈的理解

今天去面试,面试官再一次问到了对堆栈的理解这个问题,答的不是太好,在网上又查阅了一些讲的比较清楚的博客,现在来梳理一下内容,以备下次之需。一个由C/C++编译的程序占用的内存包括下列几项:栈区(stack) 堆区(heap) 静态区(全局区) 常量区 代码区它们在内存中的地址由低到高顺序为 5-4-3-2-1其中栈区、堆区、静态区存放在RAM中 常量区、代码...

2019-01-11 16:12:50 2751 1

转载 常用存储器介绍

摘自“零死角玩转STM32—F03指南者”。存储器是计算机结构的重要组成部分。存储器是用来存储程序代码和数据的部件,有了存储器计算机才具有记忆功能。                                                 存储器按其存储介质特性主要分为“易失性存储器”和“非易失性存储器”两大类。其中的“易失/非易失”是指存储器断电后,它存储的数据内容是否会丢失的...

2019-01-10 15:54:19 489

转载 蓝牙BLE技术简介

BLE是蓝牙低功耗的简称(Bluetooth Low Energy)。蓝牙低功耗(BLE)技术是低成本、短距离、可互操作的鲁棒性无线技术,工作在免许可的2.4GHz ISM射频频段。低成本,低功耗快速启动,瞬间链接。最快3ms低延迟传输距离的提高高安全性。使用AES-128加密算法进行数据报加密认证蓝牙1.0:基本码率,Basic Rate,BR蓝牙2.0:增强码率,Enh...

2019-01-08 17:48:23 4820

转载 FreeRTOS 内存管理方案

摘自:《Free RTOS 内核实现与应用开发实战—基于STM32》FreeRTOS 内存管理模块管理用于系统中的内存资源,它是操作系统的核心模块之一。主要包括内存的初始化、分配以及释放。在嵌入式实时操作系统中,调用malloc()和free()是有风险的,原因有以下几点:①这些函数在小型嵌入式系统中并不总是可用的,小型嵌入式设备中的RAM不足。②它们的实现可能非常的大,占据了相当...

2018-11-13 16:04:19 333

空空如也

空空如也

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

TA关注的人

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