- 博客(89)
- 收藏
- 关注
原创 平台总线---深入分析
平台总线模型也叫platform总线模型。平台总线是Linux系统虚拟出来的总线。所谓虚拟出来的总线其实就是使用软件来模拟物理总线的一些性质,linux各种子系统还是别的, 都特别爱玩匹配这套东西, 挺好。
2025-04-04 15:43:10
737
原创 pinctrl子系统
PinCtrl子系统(Pin Controller子系统)是Linux内核中的一个重要组件,用于管理和配置芯片引脚的功能和电气特性。其主要功能和作用包括以下几个方面。引脚枚举与命名:在系统初始化时,PinCtrl子系统会枚举所有可以控制的引脚,并为每个引脚分配一个唯一的编号。引脚复用管理:PinCtrl子系统允许将引脚配置为不同的功能,例如GPIO、I2C、SPI、UART等。一个引脚可以根据需要在不同功能之间切换。电气特性配置。
2025-01-23 21:19:18
830
原创 深入探究RTOS的IPC机制----邮箱
阅读引言: 因为将来工作需要, 最近在深入学习OS的内部机制,我把我觉得重要的、核心的东西分享出来, 希望对有需要的人有所帮助, 阅读此文需要读友有RTOS基础, 以及一些操作系统的基础知识, 学习过Linux的最佳, 特别是想RT-Thread适合Linux非常像的, 代码风格、IPC机制等等。其实想深入的理解OS的内部工作机制, 无非就是涉及到一个问题, OS使用了那些数据结构组织和管理这些内核对象, 从而实现功能的。RTOS就两点链表和定时器。
2024-06-20 17:03:02
1136
原创 深入探究RTOS的IPC机制——消息队列
阅读引言: 因为将来工作需要, 最近在深入学习OS的内部机制,我把我觉得重要的、核心的东西分享出来, 希望对有需要的人有所帮助, 阅读此文需要读友有RTOS基础, 以及一些操作系统的基础知识, 学习过Linux的最佳, 特别是想RT-Thread适合Linux非常像的, 代码风格、IPC机制等等。
2024-06-20 10:59:45
1270
原创 深入探究RTOS的任务调度
阅读引言: 此文将会从一个过程文件, 一步一步的分析RTOS的任务调度实现, 这里选用FreeRTOS分析, 别的也差不多的, 可能在细节上有少许不一样。
2024-06-18 11:46:16
2371
原创 RT-Thread简介及启动流程分析
RT-Thread是一个来自中国的开源、中英文双语的实时操作系统(RTOS),它适用于各种资源受限的嵌入式系统。自2006年由熊谱翔(Bernard Xiong)创建以来,RT-Thread已经发展成为一个功能丰富、高度可伸缩、完全开源的实时操作系统。实时性能:RT-Thread提供了高实时性能,能够满足嵌入式系统对实时性的需求。可伸缩性:系统设计为可伸缩,可以运行在从几百字节内存的简单嵌入式设备到拥有大量内存的复杂系统。组件丰富。
2024-06-17 17:18:47
1954
原创 Git保姆级教程
复杂了, 说白了git就是一套代码, 帮助我们管理项目代码的, 为什么要将项目代码等主要文件进行版本控制呢。比如有这样一个例子, 你在写一个项目代码, 成功了, 但是你觉得这个版本有点问题, 但是能用, 想要改进一下, 但是又害怕改不出来, 最开始能用的版本都没了, 这个时候就可以使用git, 就和我们在代码的时候version1, version2, 会给项目起很多个版本。Git是一个开源的分布式版本控制系统,由Linus Torvalds创建,用于有效、高速地处理从小到大的项目的版本管理。
2024-06-11 12:22:55
1246
原创 C++多态实现原理详解
阅读引言: 我想象了一下, 假如人有突然问我什么是多态, 我该如何给别人说清楚呢?所以写下这篇文章, 希望大家看完有所收获。
2024-05-11 12:57:17
1066
原创 有刷电机、无刷电机
阅读引言: 最近在备赛, 自己之前虽然用过电机, 但是发现在一些高要求的应用场景, 发现自己对电机的知识理解得不是很透彻, 所以写下这篇文章。
2024-05-09 20:27:00
2129
2
原创 嵌入式常见存储器
阅读引言: 在看一款芯片的数据手册的时候, 无意间翻到了它的启动模式(Boot Mode), 发现这种这么多种ROM, 所以就写下了这篇文章。
2024-04-27 17:47:05
2394
原创 短距离无线通信-Zigbee
Zigbee是一个短距离的无线通信协议,类似于wifi蓝牙, 在文章的末尾会给出wifi、蓝牙、zigbee协议三者的区别和联系。ZigBee 标准是基于IEEE802.15.4标准的个域网、低数据速率、短距离无线通信定义的一系列通信协议。基于 ZigBee 的无线设备工作在2.4GHz(全球流行)、915MHz(美国流行)和868MHz(欧洲流行)3个频段上,分别具有最高250kbit/s、40kbit/s和20kbit/s的传输速率。
2024-04-26 15:34:35
3782
原创 STM32G431RBT6移植FreeRTOS
引言: 本文专门为参加了蓝桥杯嵌入式赛道的同学准备, 大家可能会有这样一个问题, 比完赛之后, 对于像继续使用STM32G431RBT6学习FreeRTOS的, 发现网上的教程使用的板子基本上都是F1和F4的, 其实呢, 随便移植一下就能在我们自己的板子上面运行FreeTROS了。如果大家有Linux的开发经验, 比如系统移植id基础, 那再来学这个FreeRTOS就比较容易了。
2024-04-18 23:31:58
1799
3
原创 半导体厂商
引言: 学习了这么久了, 突然发现对一些陌生类型的单片机的历史、公司、不是很了解, 很多只是听说过, 本片文章的分享就是关于上述疑问的。
2024-04-18 17:16:32
1260
原创 Linux设备驱动开发-字符设备
阅读引言: 从linux文件的种类、字符设备的创建、设备号、申请设备号、cdev对象和字符设备的对应关系、应用层调用到我们编写的设备驱动方法合集的流程。
2024-04-14 19:51:57
1287
原创 ARM体系结构
阅读引言: arm架构处理器的基本知识已在上一篇文章中描述过了, 本文将会从arm的存储模型、异常机制、工作模式、指令集、流水线、arm的寄存器组织方面去描述。
2024-04-06 14:49:45
1451
原创 ARM、X86、RISC-V三分天下
引入: 简单的介绍一下X86、ARM、RISC-V三种cpu架构的区别和应用场景。X86、ARM和RISC-V是三种不同的CPU架构,它们在设计理念、指令集和应用场景上有一些区别。
2024-04-06 14:10:32
3178
原创 嵌入式数据库-Sqlite3
阅读引言: 本文将会从环境sqlite3的安装、数据库的基础知识、sqlite3命令、以及sqlite的sql语句最后还有一个完整的代码实例, 相信仔细学习完这篇内容之后大家一定能有所收获。
2024-03-30 22:32:03
1376
原创 Linux下的I/O模型
IO 是 Input/Output 的缩写,指的是输入和输出。在计算机当中,IO 操作通常指将数据从一个设备或文件中读取到计算机内存中,或将内存中的数据写入设备或文件中。这些设备可以包括硬盘驱动器、网卡、键盘、屏幕等。通常用户进程中的一个完整I/O分为两个阶段:用户进程空间→内核空间→设备空间。
2024-03-25 21:39:38
1348
原创 I2C产生死锁的原因是什么、避免、解决I2C死锁
本文简述的是关于I2C在实际使用中产生死锁的问题, 本片文章会介绍如下内容, 什么是死锁, I2C产生死锁的原因, 导致的后果、以及如何解决。
2024-03-23 10:05:51
4754
原创 单片机卡死的几大原因、分析、解决
阅读引言: 本文我想给大家分享一下我在学习过程中遇到的以及了解到的一些导致单片机运行卡死(死锁)的一些常见原因和解决办法, 请注意, 只是列举,并不是全部, 因为导致单片机运行卡死的原因无穷无尽。
2024-03-15 13:50:19
4294
2
原创 常用数据结构大汇总-全部代码实现
阅读引言: 嵌入式开发的话, 重点看链表, 了解数和图肯定也是可以的我个人觉得, 个人觉得数据结构这里多画图。
2024-03-15 00:10:53
1120
原创 第十五届蓝桥杯-UART接收不定长指令的处理
在过程种大家在初始化函数的地方调用生成好的的uart的初始化函数,接着在调用uart接收并产生中断的哪一个函数, 注意点就是该函数必须接收到指定的字符数才产生中断。不去配置指定的引脚的化, 再uart的参数配置这里配置好后的USART1的默认引脚不是PA9和PA10, 这个坑大家注意一下。打印变量的值, 在逻辑不清楚的时候, 打印变量的值可以很快的帮助我们解决问题。就可以将接收到的数据, 给轻松的解析出来, 剩下的就是逻辑处理的工作了。好了, 就分享这么多, 希望需要帮助的人看了能有思路,不在疑惑!
2024-03-11 21:09:39
1011
原创 STM32的启动流程分析 和 一些底层控制的原理
阅读引言: 阅读本文之后, 你将对单片机, 甚至是嵌入式系统, 或者是传统的PC机系统的启动流程有一个大致的了解, 本文更加偏向于单片机的启动流程分析。一、基础知识。
2024-03-08 15:44:55
2995
3
原创 裸机编程的几种模式、架构、缺陷
绝大多数嵌入式初学者都从裸机编程开始,因为它更加直观、简单。通过裸机编程,你能够直接操作硬件,代码所见即所得,调试也非常方便。相比使用操作系统,裸机编程无需掌握大量的操作系统基础知识和调度机制的常识,也不需要考虑资源共享和竞争等概念。此外,裸机编程的调试过程也更加直观。下面是裸机编程中常见的模式和架构:1. 引脚配置和外设初始化:裸机编程的第一步是配置芯片的引脚和初始化外设。通过配置引脚的功能和模式,你可以连接和配置各种外设,如串口、定时器等。
2024-03-06 18:12:35
2874
原创 WIFI基础知识
wifi是无线局域网(WLAN)的一个标准, Wi-Fi(Wireless Fidelity)是一种无线局域网技术,用于无线数据传输和连接设备。它广泛应用于家庭、办公室、公共场所和各种设备中。Wi-Fi是基于无线电波传输的技术,使用无线信号来传输数据。它采用IEEE 802.11标准,其中包括了不同版本如802.11b、802.11g、802.11n、802.11ac和802.11ax等。这些标准定义了无线网络各个方面的规范,包括频率范围、传输速率、频道宽度、安全性等。
2024-02-23 14:54:18
5966
原创 蓝桥杯STM32G431RBT6实现按键的单击、双击、长按的识别
阅读引言: 是这样, 我也参加了这个第十五届的蓝桥杯,查看竞赛提纲的时候发现有按键的双击识别, 接着我就自己实现了一个按键双击的识别,但是识别效果不是特别理想,偶尔会出现识别不准确的情况,接着我搜索了各种资料,自己按照网上的提示实现了自己的按键识别代码,在这篇文章中将我使用的这两种办法分享给大家, 此外我还拓展了一些比赛之外的知识。-----------这是一个从0开始代识别按键的单击、双击、长按的文章。学习初衷:不仅仅为了比赛!
2024-02-23 14:53:29
2988
2
原创 CAN通讯协议详解
Can 总线应用最多的是汽车领域,Can 是Control every network 的首字母缩写,意思是控制器局域网控制器局域网, 该通信总线应用最多的是汽车领域。局域网,想必大家都很熟悉,就是把几台电脑连到一个路由器上, 这样这几台电脑就可以通讯了那CAN 和这个也类似,这里的控制器在汽车中的专业术语叫Ecu, 电子控制单元意思是电子控制单元,它可以看作是一台超小型的计算机,它内部集成了供电系统,单片机驱动系统是汽车里面最小的控制模块,为了能让Ecu之间进行通讯,
2024-02-08 23:28:07
1658
原创 大型工程代码的阅读神器Source Insight
阅读引言: 写这篇文章的初衷, 因为我自己在安装的时候, 很多博主都是收费的, 而且没有提供百度网盘版本的, 导致下载速度很慢, 所以我想给需要的人更好的体验, 打造真正为需要的人快速解决问题的一个优快云环境。总的来说,Source Insight是一款功能强大、易于使用的源代码编辑器和导航工具,为开发人员在代码开发和维护过程中提供了有效的辅助功能。2. 代码分析:支持代码语法高亮、自动完成、语法检查等功能,帮助开发人员编写正确的代码,并提供代码折叠、注释等编辑工具。这样机会迅速的找到相同的符号。
2024-02-04 21:21:19
624
原创 Haas 开发板连接阿里云上传温湿度和电池电压
本次实验的开发环境的信息如下:软件环境: Ubuntu 16.04 vscode vscode内部的Haas-studio插件 Alios Things SDK version-3.3硬件环境: Haas EDU开发板Haas开发板介绍。
2024-02-04 14:14:25
967
原创 物联网操作系统-Alios Things
本篇文章我想给大家分享一下Alios Things这款物联网操作系统的一些相关知识, 并且, 在文章的最后会给出我自己写的,非常详细的学习笔记, 学习笔记的思路清晰, 物联网操作系统的核心知识点都有涉及到, FreeRtos等的物联网操作系统的知识点其实都是一样的,各个机制的实现原理也都大差不差, 提前说明, 本文适合具有良好的C语言基础, 操作系统的基本认知, 数据结构等功底的伙伴阅读, 当然具有linux下的系统编程和驱动编程的基础为最佳, 有linux的基础来看物联网操作系统简直就是小巫见大巫。
2024-01-29 10:51:27
773
1
原创 蓝牙BLE基础知识
蓝牙BLE结构蓝牙技术是一种无线通信技术,可以通过短距离无线信号传输数据。它使用在2.4GHz频段的无线电波来传输数据,具有低功耗、低成本和短距离通信的特点。蓝牙技术最初是由爱立信公司在1994年提出的,目的是解决移动设备之间的无线通信问题。蓝牙技术得名于丹麦国王哈拉尔德·布隆尼尔(Harald Bluetooth),他在10世纪时推动了丹麦和挪威两国的统一。蓝牙技术的应用非常广泛,主要用于个人电子设备之间的短距离通信,比如手机、平板电脑、电脑、耳机、键盘、鼠标等。
2024-01-24 21:02:18
2400
1
原创 NB-lot介绍及在项目中如何使用
NB-IoT(Narrowband Internet of Things)是一种低功耗广域物联网(LPWAN)技术,它使用基于蜂窝网络的窄带通信技术,为物联网设备提供长距离通信和较长的电池寿命。NB-IoT使用现有的蜂窝基础设施,如2G、3G或4G网络,通过对现有蜂窝技术的改进来实现低功耗、广覆盖和大规模物联网连接。相比于传统的移动通信技术,NB-IoT具有以下特点:1. 低功耗:NB-IoT设备采用功耗较低的调制方式和长的休眠周期,以节省能源,延长电池使用寿命。
2024-01-19 15:04:05
3678
原创 Altium Designer简介以及下载安装
Altium Designer是一款功能强大的电子设计自动化(EDA)软件,用于设计和开发Printed Circuit Board(PCB)和FPGA(Field-Programmable Gate Array)电路。它提供了全面的电子设计解决方案,包括原理图设计、PCB布局设计、信号完整性分析、组装设计、仿真和设计数据管理等功能。主要特点和功能包括:1. 原理图设计:提供直观的原理图设计界面,并支持多种元件库,方便快速构建电路图。
2024-01-15 18:10:17
7166
5
原创 物联网中的通信技术
物联网的通信层担负着极其重要的信息传递、交换和传输的重任,目前是通信、计算机和自动化等领域一个新兴的研究热点,它必须能够可靠地、实时地采集覆盖区中的各种信息并进行处理,处理后的信息可通过有线或无线方式发送给远端。众所周之,统一的技术标准加速了互联网的发展,这包括在全球范围进行传输的互联网通信协议TCP/IP 协议,路由器协议,终端的构架与操作系统等。因此,我们可以在世界上的任何一个角落,使用任一台电脑连接到互联网中去,很方便的实现电脑互联。
2024-01-14 16:19:58
3630
原创 物联网介绍
物联网(Internet of Things,IOT;也称为Web of Things)是指通过各种信息传感设备,如传感器、射频识别(RFID)技术、全球定位系统、红外感应器、激光扫描器、气体感应器等各种装置与技术,实时对任何需要监控、连接、互动的物体或过程,采集其声、光、热、电、力学、化学、生物、位置等各种需要的信息,与互联网结合形成的一个巨大网络。其目的是实现物与物、物与人,所有的物品与网络的连接,方便识别、管理和控制。
2024-01-13 23:09:55
1092
1
原创 13 标准库软件模拟SPI通信时序
引言: 本文基于标准库实现的软件模拟SPI软件时序, 通过控制GPIO管脚的高低电平来模拟出SPI的通信时序要求, 废话不多说,直接给代码。如果还有不太了解SPI的基本知识的小伙伴可以去看我的单片机专题的SPI那篇文章。
2024-01-12 16:00:20
518
原创 12 HAL库的硬件SPI驱动数码管
01 SPI是串行外设接口(Serial Peripheral Interface)的缩写02 是美国摩托罗拉公司(Motorola)最先推出的一种同步串行传输规范03 是一种单片机外设芯片串行扩展接口,是一种高速、全双工、同步的串行通信总线04 SPI有主、从两种模式,通常由一个主模块和一个或多个从模块组成(SPI不支持多主机),主模块选择一个从模块进行同步通信,从而完成数据的交换。
2024-01-01 17:28:19
1674
原创 11 HAL库的硬件I2C驱动SI7006和AP3216C
SI7006SI7006是一款数字湿度和温度传感器,由Silicon Labs(全称Silicon Laboratories Inc.)生产。SI7006使用了集成式微控制器和感测技术,可以准确测量环境中的温度和湿度。SI7006的主要特点包括:1. 温湿度测量:SI7006可以同时测量环境的温度和湿度。其温度测量范围为-40°C至+125°C,湿度测量范围为0%至100%相对湿度。2. 高精确度:SI7006具有高精度的温湿度测量能力,其温度测量精度为±0.4°C,湿度测量精度为±3%RH。
2024-01-01 16:23:56
1626
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人