自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (2)
  • 收藏
  • 关注

原创 Standard-SPI, Dual-SPI, Quened-SPI, Quad-SPI 之间的关系

具体关系如上图。

2024-04-19 16:18:57 164

原创 用户层read write io命令到NVMe SSD全流程

以EXT-4以及read io cmd为例,介绍从User Space -> File System -> NVMe Driver -> PCIe Controller -> NVMe Controller -> SSD Firmware(Flash Translate layer) -> 的基本流程。假设要对根目录下的1.txt文件进行读命令。

2024-04-13 11:14:52 780

原创 阻塞、非阻塞、同步、异步的区别

阻塞、非阻塞、同步、异步、Reactor、Proactor

2022-07-09 22:10:37 3636 1

原创 程序运行时内存的分区分段(clion内存视图验证)

程序运行时各种变量的内存分布

2022-07-09 13:05:34 2250

原创 IO多路复用机制——Select

IO多路复用机制——Select服务器端使用select机制监听可读的文件描述符(客户端)的一般流程如下:下面将说下 如何将select来实现多并发的双向通信:select函数族如下:服务器端使用select机制监听可读的文件描述符(客户端)的一般流程如下:执行fd_set myset; 实例化一个fd_set对象。FD_ZERO(&myset); 把myset的所有位置为0,例如 0000 0000.若新连接的客户端的文件描述符为2,用一个变量fd来记录该文件描述符,执行FD_SET

2022-03-21 11:48:39 1308 1

原创 树莓派与QT上位机之间通过socket进行实时图像传输

其中QT上位机作为服务器端,通过socket监听特定端口,当有设备连入时,会产生相应的信号,我们捕获此信号并且自定义槽函数来进行数据接收,当接收到完整的一帧图像信息后,将图像数据流复原成图像矩阵并通过Qlabel控件显示出来。树莓派作为客户端,其通过opencv捕获到摄像头的图像,捕获图像之后可以根据自己需求对图像进行滤波、形态学腐蚀、膨胀处理、边缘检测等操作,最后将图像数据转化成字节流,同时通过socket嵌套字连接入QT上位机服务器,实现tcp通信.

2022-03-07 18:30:25 8957 1

原创 欧拉角与万向锁理解

欧拉角与万向锁万向锁理解万向锁理解说到任意一个欧拉角时,首先一定要明确其旋转的顺序,欧拉角的旋转顺序一共有(x-y-z,y-z-x,z-x-y,x-z-y,z-y-x,y-x-z)六种组合。不管是采用哪一旋转方式,只要位于中间的轴旋转了90°,就会出现万向锁的现象。举个例子:这里采用 x-y-z 的旋转方式,假设逆时针的旋转为正。当物体绕其自身的y轴旋转90°时,就出现了万向锁的情况。这个时候绕x轴的旋转和绕z轴的旋转是等价的,应该就出现了网上一直说的丢失了一个自由度的情况。用具体的欧拉角来说明一

2022-02-25 22:56:30 588

原创 树莓派通过MQTT发布网络时间和B站粉丝数给ESP32,同时在ESP32上外接ST7789显示屏显示

先上效果图:看到标题很多人会疑惑,ESP32不是直接可以http获取网络时间和B站粉丝数吗?为什么要多加一层跟树莓派通过MQTT通信。这是因为刚了解了MQTT的相关知识,想实践一下,所以就一起用上了。整体的软件框架图如下:接下来分树莓派端和ESP32端来讲解各个细节。一:树莓派首先,在树莓派上使用mosquito工具建立MQTT服务器,将树莓派作MQTT模型中的服务器,此外树莓派也同时作为MQTT通信中的发布者(publisher)。发布者实现的方法是通过python脚本,而

2021-08-27 14:56:07 2139

原创 STM32F103(七)——PWM输出

PWM输出实验 与 电容触摸按键实验一. PWM输出实验1. STM32 PWM说明2. 常用库函数3. 具体库函数配置参考资料:《开发指南》P215 PWM输出实验 《参考手册》P253 通用定时器一. PWM输出实验PWM又称脉冲宽度调制,通过对一系列脉冲的宽度进行调制,来等效地获得所需要的波形(含形状和幅值),可用来实现对LED灯亮度的控制、对电机转速的控制等等。简单的说PWM就是高电平与低电平组合起来的一种波1. STM32 PWM说明STM32的PWM输出主要使用到定时器中的这

2020-06-03 20:20:01 3249

原创 STM32F103(六)——定时器中断

定时器原理与例程1. 定时器基本原理1.1 三种定时器的区别1.2 通用定时器的主要特点1.3 通用定时器的3种计数器模式1.4 通用定时器工作过程1.5 定时器的内部时钟配置2. 定时器中断实验2.1 常见库函数2.2 定时器中断具体实现步骤参考资料:《开发指南》P206,定时器中断实验《参考手册》P253,通用定时器1. 定时器基本原理STM32F103ZE(精英版、战舰版)有8个16位的定时器,其中有4个通用定时器,2个高级定时器,2个基本定时器。1.1 三种定时器的区别具体区别如下图:

2020-05-31 23:50:17 12516 1

原创 STM32F103(五)——串口通信

串口通信串口通信串行通信参考资料:《开发指南》P178 串口实验《参考手册》P516 通用同步异步收发器串口通信通信双方(cpu与外部设备)之间通信的两种方式:并行通信▶传输原理:数据各个位同时进行传输▶优点:速度快▶缺点:占用引脚资源多串行通信▶传输原理:数据按位顺序传输▶优点:占用引脚资源少▶缺点:速度相对较慢串行通信按照数据传送方向,可分为:▶单工:数据传输只支持数据在一个方向上传输,如图:▶半双工:运行数据在两个方向上传输,但是在同一时刻只允许在一

2020-05-26 17:18:28 2849

原创 STM32F103(四)——中断系统与外部中断实例

中断系统与外部中断实例中断优先级管理抢占优先级和响应优先级的意义和区别中断管理方法中断优先级分组函数设置每个中断的抢占,响应优先级(相关寄存器)设置每个中断的抢占,响应优先级(具体的中断初始化函数)总结(中断优先级的设置步骤)外部中断实例外部中断概述**外部中断配置的步骤**参考资料:《开发指南》P120,STM32 NVIC中断优先级管理《参考手册》P130,中断和事件《开发指南》P189,外部中断实验中断优先级管理抢占优先级和响应优先级的意义和区别STM32F103的每一个中断都会被设置一

2020-05-24 23:30:19 4369

原创 STM32F103笔记(三)——时钟系统与端口复用重映射

STM32F1时钟系统简介与相关配置(一). STM32F1时钟系统的简介(二). 复位和时钟控制(RCC)的相关寄存器(一). STM32F1时钟系统的简介时钟系统的总框图如下:其中:▶系统时钟:芯片系统内部的时钟,程序运行的速度由他决定。系统时钟可来源于HSI,HSE,PLL时钟▶5个蓝色方形为STM32F1系列芯片的时钟源(时钟源即时钟的来源, 芯片中所有的时钟,包括系统时钟,外设时钟,全部都是来自这5个时钟源。)① HSI时钟(High speed Internal)高速内置时钟,

2020-05-18 18:32:05 1781

原创 STM32F103笔记(二)——GPIO原理

GPIO的工作原理与两个实验实例一. STM32F1 GPIO的工作方式输入模式输出模式相关资料在于:《STM32中文参考手册V10》第105页 GPIO的功能描述《STM32数据参考手册》第20页 相关的IO口功能描述一. STM32F1 GPIO的工作方式输入模式(1). 输入浮空(2). 输入上拉(3). 输入下拉(4). 模拟输入输出模式(1). 开漏输出(2). 开漏复用功能(3). 推挽式输出(4). 推挽式复用输出...

2020-05-10 23:50:13 5630 2

原创 Win10下 vc++6.0打开文件闪退解决

Win10下vc++6.0闪退解决方法1.网上下载一个filetool.exe的启动程序2.解压后出现一个FileTool的文件3.用vc++6.0打开工作空间,选择FileTool里面的filetool.dsw4.组建,组建后出现debug5.打开命令提示符(管理员)6.书写debug里面的filetool.dll的进程7. 用vc工具定制该filetool.dll...

2020-05-07 00:54:52 8828 11

原创 STM32F103笔记(一)

STM32的概述STM32的简述stm32系列的命名规律STM32F1系列芯片介绍关于查找资料-如果查找IO口是否独立,可查看《精英版IO引脚分配表》如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLo...

2020-05-04 20:21:41 13766

STM32F1系列,移植了官方的dmp库,成功驱动mpu6050获得欧拉角程序

此资源是本人通过将官方的dmp库从msp430平台移植到stm32f1 hal库平台的代码,已经成功驱动了mpu6050的dmp,成功获取到四元数和ptich,roll,yaw三个欧拉角。 使用过程有什么问题可以私信问我。

2021-03-28

mpu6050系列传感器的官方dmp库

该资源包括dmp库的5.1.3版本和6.12版本。其中5.1.3版本是msp430平台的,可移植到stm32平台;6.12是stm32f4hal库平台的。

2021-03-28

空空如也

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

TA关注的人

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