自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C语言知识点

知识碎片,持续更新。

2024-06-27 22:43:26 69

原创 FreeRTOS内存管理之heap_4.c源码解析

FreeRTOS内存管理

2024-06-23 16:32:38 544

原创 嵌入式知识点

1、IIC的SCL SDA是开漏模式,标准模式波特率小于100K,快速模式波特率小于400K,快速模式的占空比,有1/2(高电平是1,低电平是2)和9/16。- 如果两个主设备同时尝试驱动数据线,其中一个设备将驱动为低电平,而另一个设备则会被开漏模式的开漏输出所隔离,从而避免了电流冲突。- 在某些情况下,使用开漏模式可以简化电路设计,因为不需要为每个I2C设备添加单独的上拉电阻。总的来说,开漏模式提供了一种灵活且可靠的方式,以支持I2C总线上的多设备通信和复杂的系统设计需求。知识点记录,持续更新!

2024-06-19 08:40:19 166

转载 FTP协议标准命令

然而,大多数 FTP 控制帧是简单的 ASCII 文本,可以分为 FTP 命令或 FTP 消息。FTP 消息是对 FTP 命令的响应,它由带有解释文本的应答代码构成。FTP 使用 TCP 生成一个虚拟连接用于控制信息,然后再生成一个单独的 TCP 连接用于数据传输。数据类型(A=ASCII,E=EBCDIC,I=binary)如果是文件名列出文件信息,如果是目录则列出文件列表。传输模式(S=流模式,B=块模式,C=压缩模式)数据结构(F=文件,R=记录,P=页面)从服务器上找回(复制)文件。

2024-06-16 21:04:59 18

原创 FreeRTOS知识点随笔

RTOS相关知识点

2024-06-16 13:31:09 119

原创 USB知识点随笔

hid和uac等调用发送接口,都是先放到DMA,等主机的IN事物过来,就从DMA拿数据发出去。hid的中断间隔可配置,中断不需要等数据发送完成。3、hid传输,接收不一定按照枚举,端点初始化和报表描述符配置的中断来,发送一般都是按照中断来。不同的上位机,行为可能不一样。所以回调接口的处理要注意,可以使用同一个接口,或者两个接口都要同步处理。SPK_FEATURE_UNIT_ID:一般是声音等控制,但是这个音量和hid控制音量是没有关系的。SPK_SELECTOR_UNIT_ID:输入源选择。

2024-06-07 15:53:19 203

原创 经典蓝牙BT/低功耗蓝牙BLE知识点随笔

经典蓝牙BT/低功耗蓝牙BLE知识

2024-06-07 15:42:21 501

原创 蓝牙分析仪使用详解

蓝牙分析仪使用详解

2024-06-05 19:39:47 319

原创 深入浅出低功耗蓝牙(BLE)协议栈

BLE协议栈为什么要分层?怎么理解BLE“连接”?如果BLE协议只有ATT层没有GATT层会发生什么?

2024-06-05 19:31:27 606

原创 低功耗蓝牙中ATT/GATT/Profile/Service/Characteristic详解

蓝牙协议栈架构

2024-06-05 19:29:53 849

原创 SSL加密

SSL握手的场景很多,比如最常见的HTTPS,访问https://www.baidu.com 时,在进行HTTPS的应用数据传递之前,需要建立SSL的连接!1、服务端的公钥和私钥是一对,客户端会生成随机数,作为解密,公钥加密。由于访问的是https://www.baidu.com/,所以需要传输Subject是baidu.com的公钥证书,以供客户端认证服务端的身份。2、服务端的数字证书是权威的CA认证,可防止被恶意拦截,数字证书通过MD5验证,通过才可以进行数据交互。

2023-12-26 19:48:41 889 1

原创 USB通信协议详解

USB通信协议详解

2023-11-21 11:36:39 1360

原创 USB检测与连接过程

USB知识点

2023-08-25 19:46:43 2145 2

原创 Bus hound使用

选择对应的endpoint发送数据,下图是hid发送命令窗口,发送命令要选择out,然后配置长度以及发送的数据。点击RUN和STOP,开始和停止数据抓取。根据设置的抓取字节数,数据量达到设置的字节数,就会停止抓取。连续相同的数据,后缀会计数,不会重复显示。这里勾选设备,选择要抓取数据的设备。双击设备名,可打开命令发送窗口。例如,双击USB Input Device,会弹出HID的命令发送窗口。可配置数据抓取的最大字节数,达到最大字节数,会停止数据抓取。如果没有破解,可配置最大值为512字节。

2023-06-28 18:36:08 2026 1

原创 nandflash和norflash的区别

nor flash 的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。应用nand flash 的困难在于flash 的管理和需要的特殊接口。在NOR器件上运行代码不需要任何的软件支持,在NAND器件上进行同样操作时,通常需要驱动程序,也就是内存技术驱动程序(MTD),NAND和NOR器件在进行写入和擦除操作时都需要MTD。当讨论软件支持的时候,应该区别基本的读/写/擦操作和高一级的用于磁盘仿真和闪存管理算法的软件,包括性能优化。

2023-06-01 18:56:31 1091

原创 缓冲区ringbuffer

缓冲区ringbuffer

2022-08-24 11:37:04 716

原创 蓝牙A2DP和HFP编解码

蓝牙A2DP和HFP编解码

2022-07-24 23:10:08 8798

原创 结构体字节对齐

结构体字节对齐 在用sizeof运算符求算某结构体所占空间时,并不是简单地将结构体中所有元素各自占的空间相加,这里涉及到内存字节对齐的问题。从理论上讲,对于任何变量的访问都可以从任何地址开始访问,但是事实上不是如此,实际上访问特定类型的变量只能在特定的地址访问,这就需要各个变量在空间上按一定的规则排列,而不是简单地顺序排列,这就是内存对齐。 内存对齐的原因: 1)某些平台只能在特定的地址处访问特定类型的数据; 2)提高存取数据的速度。比如有的平台每......

2022-07-16 15:32:29 1211

原创 BLE笔记

BLE笔记

2022-06-10 19:52:31 412

原创 BLE传输速率以及抓包工具

BLE传输速率以及抓包工具

2022-06-08 19:41:09 4021 1

原创 Flash烧录

硕飞Flash编程器上位机软件FlyPRO V4.46】链接:https://pan.baidu.com/s/1aRxJ5n2FEDB00lut1vXJZA 提取码:jdp0【硕飞Flash编程器上位机软件使用手册】链接:https://pan.baidu.com/s/1O712RNGtj2APnl1KeogUCQ 提取码:no901、将烧录器【硕飞 SP8-B】的 Micro USB接口连接到电脑,如图所示,电源指示灯(PWR)红色点亮表示供电正常,状态指示灯(STA)绿色表示...

2021-07-08 16:39:18 3081

原创 NOP指令

NOP:表示延时一个周期指令ARM:两种表示方法__ASM("MOV R0,R0"); __NOP();C51:#include<intrins.h>中声明_nop_();

2021-07-05 15:23:45 1799

原创 “堆”,“栈“,“队列“的区别

什么是“堆”,"栈","堆栈","队列",它们的区别如果你学过数据结构,就一定会遇到“堆”,"栈","堆栈","队列",而最关键的是这些到底是什么意思?最关键的是即使你去面试,这些都还会问到,所以如果你不懂对你是损失很大的。堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除。要点:堆:顺序随意 栈:后进先出(Last-In/First-Out)堆 堆:什么是堆?又该怎么理解呢?①堆通常是一个可以被看做一棵树的数组对象。...

2021-05-21 18:02:12 53

原创 可重入函数和不可重入函数

可重入函数和不可重入函数在实时系统的设计中,经常会出现多个任务调用同一个函数的情况。如果有一个函数不幸被设计成为这样:那么不同任务调用这个函数时可能修改其他任务调用这个函数的数据,从而导致不可预料的后果。这样的函数是不安全的函数,也叫不可重入函数。相反,肯定有一个安全的函数,这个安全的函数又叫可重入函数。那么什么是可重入函数呢?所谓可重入是指一个可以被多个任务调用的过程,任务在调用时不必担心数据是否会出错。一...

2021-05-17 16:42:49 248

原创 MCU内存分配与管理

C语言内存分配一、内存分配​1、内存分配的类型:在C/C++中内存分为5个区,分别为栈区、堆区、数据段(初始化数据区/静态数据区、未初始化数据区;或者是只读数据段Ro-data即常量数据,已经初始化读写数据段(RW-data),未初始化数据段即BBS(ZI-data))、代码区。静态内存分配:编译时分配。包括:全局、静态全局、静态局部三种变量。动态内存分配:运行时分配。包括:栈(stack): 局部变量。堆(heap): c语言中用到的变量被动态的分配在内存中。(malloc或.

2021-05-14 17:25:19 4345 1

原创 不定长数组

不定长数组数组定义时会分配内存,如果想定义不定长数组,C语言不支持不定长数组,不能用array[],虽然编译能够通过,但是可能造成内存问题。但是我们可以通过动态数组实现一个不定长度的数组。...

2021-05-13 15:17:06 735

原创 不同数据类型在不同系统下占用字节数

不同数据类型在不同系统下占用字节数

2021-05-13 10:10:53 52

原创 C语言结构体字节对齐详解

C语言结构体占用内存总结struct Test{ int a; char b; int c;} test;理论上,结构体中的各个成员在内存中应该是连续储存的,就像数组里面的元素一样。事实上,也确实是这个样子的,不过和我们想象的有点不一样。按照我们最初的想法,变量test所占的内存为 4 + 1 + 4 = 9。但是我们写一个小代码验证一下发现和我们想的不一样。它的内存为12。因为 int类型是4个字节,所以是不是各个成员的内存都是按照最大的那个设置呢?毕......

2021-05-13 10:07:03 133 1

原创 优先级反转

优先级反转的描述:假设任务1,任务2,任务3;他们的优先级顺序分别为1 > 2 > 3。有一个稀缺资源S,S由一个信号量控制为互斥访问。任务3正在执行,并申请到了资源S;任务1抢占了任务3的执行,任务3挂起,任务1执行;任务1申请资源S,发现被占用,所以挂起,任务3恢复执行;任务2抢占了任务3的执行,任务3挂起,任务2执行;任务2执行完毕,任务3恢复;任务3释放资源S,任务1抢占资源S,任务1执行,任务3挂起;任务1执行完毕,任务3执行。以上可以看出,任务2虽然比任务1优先

2021-05-13 09:54:29 65

空空如也

空空如也

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

TA关注的人

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