自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【基础知识】QSPI代码流程

初始化QSPI接口配置GPIO、时钟和QSPI控制器参数。使能QSPI外设。进入QSPI模式(可选)若Flash支持四线模式,发送命令。执行操作(读取/写入/擦除)根据需求发送对应命令(如Read Data处理数据传输和状态检查。错误处理与状态检查读取状态寄存器,确保操作成功完成。

2025-05-20 15:38:22 390

原创 【基础知识】QSPI的命令

QSPI命令集通过灵活的单线/多线切换机制,在保持与SPI兼容性的同时,显著提升了数据传输效率。开发时需根据设备特性选择合适的命令,并严格遵循时序要求,以实现最优性能。

2025-05-20 15:24:13 778

原创 【基础知识】SPI协议的种类及异同

引脚资源若引脚紧张,优先选择单线路SPI或三线制SPI。传输速率高速场景(如Flash读写)选择QSPI或DSPI;低速场景可使用标准SPI。拓扑结构多从机系统若CS引脚不足,考虑菊花链SPI。兼容性与现有设备通信时,需确保主从设备支持相同的SPI变体。通过灵活选择SPI的不同协议种类,可在引脚数量、传输效率和系统复杂度之间取得平衡。

2025-05-20 14:02:11 912

原创 【基础知识】SPI通信如何确认从机模式

优先查阅文档:直接获取CPOL/CPHA值或支持的模式。硬件测量:使用示波器观察SCK时序,确定CPOL和CPHA。软件枚举:通过主设备逐一测试四种模式,根据响应判断。交叉验证:结合文档、测量和枚举结果,确保结论一致。通过以上方法,可准确确认SPI从机的工作模式,实现主从设备的正确通信。

2025-05-20 13:55:29 605

原创 【基础知识】SPI时钟极性和时钟相位的作用

时钟极性决定了SPI总线在空闲状态(无数据传输时)时钟信号(SCK)的默认电平。

2025-05-20 11:20:06 432

原创 【C++】常用设计模式

设计模式是解决软件设计问题的经验总结,合理使用可以提高代码的可维护性、可扩展性和复用性。设计模式(Design Patterns)是软件开发中针对反复出现的问题总结出的通用解决方案。定义对象间的一对多依赖,当一个对象状态改变时,所有依赖者会收到通知并自动更新。将一个类的接口转换成客户希望的另一个接口,使不兼容的类可以一起工作。允许对象在内部状态改变时改变它的行为,看起来像是改变了它的类。将请求的发送和接收解耦,使多个对象都有机会处理这个请求。:对象的创建过程,解耦对象的使用和实例化。

2025-05-13 16:59:47 585

原创 【C++】【设计模式】生产者-消费者模型

生产者-消费者模型是并发编程的基础模式,通过分离数据生产和处理逻辑,提高系统吞吐量和可维护性。合理选择缓冲区类型和同步机制是实现高效、线程安全的关键。在实际应用中,需根据场景特点(如性能需求、数据量)调整实现方式。生产者-消费者模型(Producer-Consumer Model)是一种经典的并发编程模式,用于解决多线程或多进程环境下的数据共享和任务协作问题。

2025-05-13 15:55:05 447 1

原创 【C++】多线程和多进程

进程间通信通过操作系统提供的机制实现,适合安全性要求高、需跨主机通信的场景。现代C++提供了丰富的并发工具,简化了线程和进程间的通信实现。在C++中,多线程通信(同一进程内的线程间交互)和进程间通信(IPC,不同进程间的数据交换)是构建并发系统的核心技术。不同进程间的通信需通过操作系统提供的机制,因为它们不共享内存空间。基于网络协议的进程间通信,支持本地(Unix域套接字)和网络通信。用于系统服务间的高级IPC机制,广泛用于Linux桌面环境。使用线程安全的队列实现异步通信,避免直接共享状态。

2025-05-13 15:49:05 907

原创 【C++】常用的STL

C++ 的标准模板库(STL)提供了丰富的容器、算法和工具,:对容器元素排序(平均 O(n log n)):查找第一个≥/>目标值的位置。:字符串流(用于格式化和解析):可能为空的值(C++17+):键值对映射(红黑树实现):弱引用,用于解决循环引用。:多值元组(C++11+):允许重复元素的有序集合。:队列(先进先出,基于。:用于在容器尾部插入元素。:允许重复键的有序映射。:栈(后进先出,基于。:二分查找(要求有序):共享所有权的智能指针。:哈希表实现的键值对。:优先队列(堆实现)

2025-05-12 10:49:11 857

原创 【C++】互斥锁(Mutex)

在C++中,互斥锁(Mutex)是用于线程同步的重要工具,用于保护共享资源,防止多线程同时访问导致的数据竞争(Data Race)问题。合理选择互斥锁类型能有效提升代码的安全性和性能。自动管理锁,避免手动。

2025-05-12 10:46:07 274

原创 【C++】多种容器

在C++中,除了和std::list,标准库还提供了多种其他容器,它们各自基于不同的数据结构和设计目标。

2025-05-09 12:06:39 638

原创 【C++】std::list 和 std::vector的区别

扩容时会重新分配更大的内存块,并复制原有元素(性能开销较大)。内存分散,每个节点单独分配,无需预分配或扩容。但节点的指针会增加额外内存开销(每个元素需额外存储两个指针)。是两种常用的容器,它们分别基于不同的数据结构实现,适用于不同的场景。缺点:插入和删除操作(尤其是在中间或头部)效率较低(O(n)),可能需要移动大量元素。优点:支持常数时间的插入和删除操作(O(1)),无论位置如何。优点:支持高效的随机访问(时间复杂度 O(1))。缺点:随机访问效率低(O(n)),必须遍历链表。

2025-05-09 12:01:18 832

原创 【C++】如何在vscode中搭建c++编译执行环境以及解决输出中文乱码

添加如下两行代码即可。

2025-05-09 08:28:02 278 1

原创 【基础知识】常见公式计算(三)

汽车相关总线的计算公式

2025-05-07 16:23:12 625

原创 【基础知识】常见的计算公式(二)

I²C 工作在快速模式,时钟频率为 400kHz,则数据传输速率为 400kbps。根据 ADC 的转换结果和分辨率,可以计算出对应的模拟输入电压。ADC 的分辨率表示它能够分辨的最小模拟电压变化量。SPI 的数据传输速率取决于时钟频率和数据位宽。DAC 根据输入的数字量输出对应的模拟电压。I²C 的数据传输速率与时钟频率相关。

2025-04-30 15:07:35 322

原创 【基础知识】常见的计算公式(一)

梳理一下这些常用的公式,不需要背,但是要熟悉相关的参数,用的时候能想起来即可.

2025-04-28 15:54:07 426

原创 【基础知识】存储基础

在底层,擦除是将存储单元恢复到初始高电平状态,由于擦除操作的电压较高,为避免对其他单元造成干扰,只能对较大的扇区进行整体操作;写入是改变存储单元的电平状态,其操作电压相对较低,以页为单位写入既能保证效率,又能减少数据传输量。:如果是存储少量配置信息的场景,可选择小扇区、小页的 NOR Flash,减少擦写时间和资源浪费;若用于存储大量数据,如代码固件,可选择大扇区、大页的 NOR Flash,提高存储效率和整体性能。这种操作单位的差异,是在性能和寿命之间进行权衡的结果,满足了不同应用场景的需求。

2025-04-28 09:57:08 718

原创 【基础知识】宏定义的使用

【代码】【基础知识】宏定义的使用。

2025-04-28 09:56:16 138

原创 华为MDC610 AP配置流程

华为MDC610 AP配置流程

2022-04-29 09:03:08 1849

原创 我的创作纪念日

我的创作纪念日

2022-04-12 09:31:41 470 5

原创 win11安装ubuntu2020

win11安装ubuntu

2022-03-31 16:31:17 1516

原创 ubuntu1604中文输入法安装

ubuntu安装输入法

2022-03-28 17:36:34 565

原创 gtk系列教程

Linux之GTK系列教程

2022-03-24 14:59:49 728

原创 编译问题libgazebo_ros_moveit_planning_scene.so问题

libgazebo_ros_moveit_planning_scene.so

2022-03-24 14:34:17 588

原创 ubuntu1604安装GTK+

Ubuntu上安装GTK+3.0的命令只有4条,而且安装速度很快,构建GTK+3.0的开发环境很方便。

2022-03-24 12:32:41 1343

原创 ubuntu安装vscode

ubuntu安装vscode

2022-03-16 17:04:32 2872

原创 can报文解析

can报文解析

2022-02-11 15:26:14 5490

原创 can通讯流程

can通讯流程

2022-01-14 10:17:49 725 1

原创 刹车指令下发控制流程

刹车指令下发控制流程

2022-01-14 10:14:54 183

原创 vim中文乱码问题解决方式

vim中乱码解决

2022-01-07 10:00:41 4064

原创 c++之Code Blocks

CodeBlocks IDE

2022-01-06 17:39:32 585

原创 嵌入式-QEMU系统

韦东山老师的QEMU模拟系统学习笔记

2022-01-04 11:51:50 1580

原创 嵌入式笔记-Makefile

Makefile标题内容编者炎芯随笔发布时间2020年8月28日11:05:17版本V-1.0#######################src = $(wildcard *.c)obj = $(src:%.c=%.o)INC += -I ../lib/slog/INC += -I ../lib/obex/INC += -I ../lib/rfcomm/libs += -lpthreadlibs += -lmlibs += -lopeno

2021-12-28 11:37:57 100

原创 嵌入式笔记-Qt5方法记录

Qt5方法记录1.环境的搭建2.环境问题记录2.1.中文乱码解决方法2.2 添加文件注释格式1.环境的搭建2.环境问题记录2.1.中文乱码解决方法先设置环境如下:在含有中文的文件中添加如下代码#if _MSC_VER >= 1600#pragma execution_character_set("utf-8")#endif2.2 添加文件注释格式...

2021-12-27 15:58:28 636

原创 嵌入式笔记-字符设备驱动源码分析

字符设备驱动源码分析主要数据结构file_operationsmiscdeviceplatform_device主要数据结构file_operations结构体 file_operations 在头文件 kernel-4.9/include/linux/fs.h 中声明如下struct file_operations { struct module *owner; loff_t (*llseek) (struct file *, loff_t, int);

2021-12-27 15:57:11 122

原创 Linux驱动开发面试题整合

Linux 驱动常见面试及答案八个常见的Linux驱动面试题Linux驱动面试题总结嵌入式校招面试题BSP开发工程师面试笔试题集海康面试题面试题,详细BSP开发流程讲解

2021-12-27 15:54:26 3459

原创 华为MDC300之arxml配置(真香)

MMC配置说明参照在MMC中配置类型和服务即可,剩下的在拖拽模式中配置参考链接说明经过一路上的摸索,给我在华为官网摸到了一个好东西,参考文末的链接,快上车吧。参照在MMC中配置类型和服务即可,剩下的在拖拽模式中配置参考链接这个是华为官方的MDC310教学,太香了https://education.huaweicloud.com/courses/course-v1:HuaweiX+CBUCNXS018+Self-paced/about...

2021-12-23 17:03:39 1021

原创 华为MDC310之Can通信流程梳理

说明最近调试的can通信,接收的代码是没问题的,就是发送端一直不行,通过昨天的讨论,似乎有了一些新的思路,在这里梳理一遍。#mermaid-svg-vV4VsUcmDkRwiWVa .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-vV4VsUcmDkRwiWVa .label text{fill:#333}#

2021-12-22 14:10:12 1072

原创 华为MDC310 之Can通信配置canbus_config.json

MDC310通信配置canbus_config.json配置文件的作用配置文件的下发canbus_config.json把canbus_config.json文件拷贝,使用json格式查看[ { "key": "CanBusConfigList", "value": { "object[]": [ { "key": "object", "value": { "object[]": [

2021-12-22 10:10:48 1009

原创 Can总线调试之数据结构

Can总线调试在项目中需要调试can通讯,以此文总结整理参考文档https://blog.csdn.net/zhouyy858/article/details/100935648https://www.cnblogs.com/qiche/p/10344423.htmlcan总线合集

2021-12-22 09:23:46 1136

obex_recv_file.zip

linux源码实现蓝牙文件接收,下载了obex的源码,看网上的资料都是拷贝的相当无语,最后自己费劲心思才搞出来的,希望可以帮助到有需要的你。

2019-11-12

init_bluetooth_listen.sh

在linux下使用8221CUusb蓝牙模块,作为从机监听连接进行数据收发,使用前必须安装搭建相关的库如blueZ

2019-11-12

空空如也

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

TA关注的人

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