自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++多态实现原理详解

阅读引言: 我想象了一下, 假如人有突然问我什么是多态, 我该如何给别人说清楚呢?所以写下这篇文章, 希望大家看完有所收获。

2024-05-11 12:57:17 954

原创 有刷电机、无刷电机

阅读引言: 最近在备赛, 自己之前虽然用过电机, 但是发现在一些高要求的应用场景, 发现自己对电机的知识理解得不是很透彻, 所以写下这篇文章。

2024-05-09 20:27:00 714

原创 嵌入式常见存储器

阅读引言: 在看一款芯片的数据手册的时候, 无意间翻到了它的启动模式(Boot Mode), 发现这种这么多种ROM, 所以就写下了这篇文章。

2024-04-27 17:47:05 879

原创 短距离无线通信-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 975

原创 STM32G431RBT6移植FreeRTOS

引言: 本文专门为参加了蓝桥杯嵌入式赛道的同学准备, 大家可能会有这样一个问题, 比完赛之后, 对于像继续使用STM32G431RBT6学习FreeRTOS的, 发现网上的教程使用的板子基本上都是F1和F4的, 其实呢, 随便移植一下就能在我们自己的板子上面运行FreeTROS了。如果大家有Linux的开发经验, 比如系统移植id基础, 那再来学这个FreeRTOS就比较容易了。

2024-04-18 23:31:58 1194 3

原创 半导体厂商

引言: 学习了这么久了, 突然发现对一些陌生类型的单片机的历史、公司、不是很了解, 很多只是听说过, 本片文章的分享就是关于上述疑问的。

2024-04-18 17:16:32 824

原创 Linux设备驱动开发-字符设备

阅读引言: 从linux文件的种类、字符设备的创建、设备号、申请设备号、cdev对象和字符设备的对应关系、应用层调用到我们编写的设备驱动方法合集的流程。

2024-04-14 19:51:57 1162

原创 ARM体系结构

阅读引言: arm架构处理器的基本知识已在上一篇文章中描述过了, 本文将会从arm的存储模型、异常机制、工作模式、指令集、流水线、arm的寄存器组织方面去描述。

2024-04-06 14:49:45 1002

原创 ARM、X86、RISC-V三分天下

引入: 简单的介绍一下X86、ARM、RISC-V三种cpu架构的区别和应用场景。X86、ARM和RISC-V是三种不同的CPU架构,它们在设计理念、指令集和应用场景上有一些区别。

2024-04-06 14:10:32 730

原创 嵌入式数据库-Sqlite3

阅读引言: 本文将会从环境sqlite3的安装、数据库的基础知识、sqlite3命令、以及sqlite的sql语句最后还有一个完整的代码实例, 相信仔细学习完这篇内容之后大家一定能有所收获。

2024-03-30 22:32:03 1176

原创 Linux下的I/O模型

IO 是 Input/Output 的缩写,指的是输入和输出。在计算机当中,IO 操作通常指将数据从一个设备或文件中读取到计算机内存中,或将内存中的数据写入设备或文件中。这些设备可以包括硬盘驱动器、网卡、键盘、屏幕等。通常用户进程中的一个完整I/O分为两个阶段:用户进程空间→内核空间→设备空间。

2024-03-25 21:39:38 1273

原创 I2C产生死锁的原因是什么、避免、解决I2C死锁

本文简述的是关于I2C在实际使用中产生死锁的问题, 本片文章会介绍如下内容, 什么是死锁, I2C产生死锁的原因, 导致的后果、以及如何解决。

2024-03-23 10:05:51 1227

原创 常见传感器的原理 和 常见滤波算法实现

分享一些ADC常见的滤波算法的实现, 介绍声、光、热、电、力、气和磁传感器的大致工作原理。

2024-03-19 23:12:52 1650

原创 单片机卡死的几大原因、分析、解决

阅读引言: 本文我想给大家分享一下我在学习过程中遇到的以及了解到的一些导致单片机运行卡死(死锁)的一些常见原因和解决办法, 请注意, 只是列举,并不是全部, 因为导致单片机运行卡死的原因无穷无尽。

2024-03-15 13:50:19 1834 1

原创 常用数据结构大汇总-全部代码实现

阅读引言: 嵌入式开发的话, 重点看链表, 了解数和图肯定也是可以的我个人觉得, 个人觉得数据结构这里多画图。

2024-03-15 00:10:53 1006

原创 第十五届蓝桥杯-UART接收不定长指令的处理

在过程种大家在初始化函数的地方调用生成好的的uart的初始化函数,接着在调用uart接收并产生中断的哪一个函数, 注意点就是该函数必须接收到指定的字符数才产生中断。不去配置指定的引脚的化, 再uart的参数配置这里配置好后的USART1的默认引脚不是PA9和PA10, 这个坑大家注意一下。打印变量的值, 在逻辑不清楚的时候, 打印变量的值可以很快的帮助我们解决问题。就可以将接收到的数据, 给轻松的解析出来, 剩下的就是逻辑处理的工作了。好了, 就分享这么多, 希望需要帮助的人看了能有思路,不在疑惑!

2024-03-11 21:09:39 798

原创 STM32的启动流程分析 和 一些底层控制的原理

阅读引言: 阅读本文之后, 你将对单片机, 甚至是嵌入式系统, 或者是传统的PC机系统的启动流程有一个大致的了解, 本文更加偏向于单片机的启动流程分析。一、基础知识。

2024-03-08 15:44:55 1922 3

原创 裸机编程的几种模式、架构、缺陷

绝大多数嵌入式初学者都从裸机编程开始,因为它更加直观、简单。通过裸机编程,你能够直接操作硬件,代码所见即所得,调试也非常方便。相比使用操作系统,裸机编程无需掌握大量的操作系统基础知识和调度机制的常识,也不需要考虑资源共享和竞争等概念。此外,裸机编程的调试过程也更加直观。下面是裸机编程中常见的模式和架构:1. 引脚配置和外设初始化:裸机编程的第一步是配置芯片的引脚和初始化外设。通过配置引脚的功能和模式,你可以连接和配置各种外设,如串口、定时器等。

2024-03-06 18:12:35 1275

原创 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 1397

原创 蓝桥杯STM32G431RBT6实现按键的单击、双击、长按的识别

阅读引言: 是这样, 我也参加了这个第十五届的蓝桥杯,查看竞赛提纲的时候发现有按键的双击识别, 接着我就自己实现了一个按键双击的识别,但是识别效果不是特别理想,偶尔会出现识别不准确的情况,接着我搜索了各种资料,自己按照网上的提示实现了自己的按键识别代码,在这篇文章中将我使用的这两种办法分享给大家, 此外我还拓展了一些比赛之外的知识。-----------这是一个从0开始代识别按键的单击、双击、长按的文章。学习初衷:不仅仅为了比赛!

2024-02-23 14:53:29 1748 2

原创 CAN通讯协议详解

Can 总线应用最多的是汽车领域,Can 是Control every network 的首字母缩写,意思是控制器局域网控制器局域网, 该通信总线应用最多的是汽车领域。局域网,想必大家都很熟悉,就是把几台电脑连到一个路由器上, 这样这几台电脑就可以通讯了那CAN 和这个也类似,这里的控制器在汽车中的专业术语叫Ecu, 电子控制单元意思是电子控制单元,它可以看作是一台超小型的计算机,它内部集成了供电系统,单片机驱动系统是汽车里面最小的控制模块,为了能让Ecu之间进行通讯,

2024-02-08 23:28:07 1069

原创 大型工程代码的阅读神器Source Insight

阅读引言: 写这篇文章的初衷, 因为我自己在安装的时候, 很多博主都是收费的, 而且没有提供百度网盘版本的, 导致下载速度很慢, 所以我想给需要的人更好的体验, 打造真正为需要的人快速解决问题的一个CSDN环境。总的来说,Source Insight是一款功能强大、易于使用的源代码编辑器和导航工具,为开发人员在代码开发和维护过程中提供了有效的辅助功能。2. 代码分析:支持代码语法高亮、自动完成、语法检查等功能,帮助开发人员编写正确的代码,并提供代码折叠、注释等编辑工具。这样机会迅速的找到相同的符号。

2024-02-04 21:21:19 476

原创 Haas 开发板连接阿里云上传温湿度和电池电压

本次实验的开发环境的信息如下:软件环境: Ubuntu 16.04 vscode vscode内部的Haas-studio插件 Alios Things SDK version-3.3硬件环境: Haas EDU开发板Haas开发板介绍。

2024-02-04 14:14:25 781

原创 物联网操作系统-Alios Things

本篇文章我想给大家分享一下Alios Things这款物联网操作系统的一些相关知识, 并且, 在文章的最后会给出我自己写的,非常详细的学习笔记, 学习笔记的思路清晰, 物联网操作系统的核心知识点都有涉及到, FreeRtos等的物联网操作系统的知识点其实都是一样的,各个机制的实现原理也都大差不差, 提前说明, 本文适合具有良好的C语言基础, 操作系统的基本认知, 数据结构等功底的伙伴阅读, 当然具有linux下的系统编程和驱动编程的基础为最佳, 有linux的基础来看物联网操作系统简直就是小巫见大巫。

2024-01-29 10:51:27 724 1

原创 蓝牙BLE基础知识

蓝牙BLE结构蓝牙技术是一种无线通信技术,可以通过短距离无线信号传输数据。它使用在2.4GHz频段的无线电波来传输数据,具有低功耗、低成本和短距离通信的特点。蓝牙技术最初是由爱立信公司在1994年提出的,目的是解决移动设备之间的无线通信问题。蓝牙技术得名于丹麦国王哈拉尔德·布隆尼尔(Harald Bluetooth),他在10世纪时推动了丹麦和挪威两国的统一。蓝牙技术的应用非常广泛,主要用于个人电子设备之间的短距离通信,比如手机、平板电脑、电脑、耳机、键盘、鼠标等。

2024-01-24 21:02:18 1053

原创 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 1362

原创 Altium Designer简介以及下载安装

Altium Designer是一款功能强大的电子设计自动化(EDA)软件,用于设计和开发Printed Circuit Board(PCB)和FPGA(Field-Programmable Gate Array)电路。它提供了全面的电子设计解决方案,包括原理图设计、PCB布局设计、信号完整性分析、组装设计、仿真和设计数据管理等功能。主要特点和功能包括:1. 原理图设计:提供直观的原理图设计界面,并支持多种元件库,方便快速构建电路图。

2024-01-15 18:10:17 2858 1

原创 物联网中的通信技术

物联网的通信层担负着极其重要的信息传递、交换和传输的重任,目前是通信、计算机和自动化等领域一个新兴的研究热点,它必须能够可靠地、实时地采集覆盖区中的各种信息并进行处理,处理后的信息可通过有线或无线方式发送给远端。众所周之,统一的技术标准加速了互联网的发展,这包括在全球范围进行传输的互联网通信协议TCP/IP 协议,路由器协议,终端的构架与操作系统等。因此,我们可以在世界上的任何一个角落,使用任一台电脑连接到互联网中去,很方便的实现电脑互联。

2024-01-14 16:19:58 1340

原创 物联网介绍

物联网(Internet of Things,IOT;也称为Web of Things)是指通过各种信息传感设备,如传感器、射频识别(RFID)技术、全球定位系统、红外感应器、激光扫描器、气体感应器等各种装置与技术,实时对任何需要监控、连接、互动的物体或过程,采集其声、光、热、电、力学、化学、生物、位置等各种需要的信息,与互联网结合形成的一个巨大网络。其目的是实现物与物、物与人,所有的物品与网络的连接,方便识别、管理和控制。

2024-01-13 23:09:55 1001 1

原创 13 标准库软件模拟SPI通信时序

引言: 本文基于标准库实现的软件模拟SPI软件时序, 通过控制GPIO管脚的高低电平来模拟出SPI的通信时序要求, 废话不多说,直接给代码。如果还有不太了解SPI的基本知识的小伙伴可以去看我的单片机专题的SPI那篇文章。

2024-01-12 16:00:20 430

原创 12 HAL库的硬件SPI驱动数码管

01 SPI是串行外设接口(Serial Peripheral Interface)的缩写02 是美国摩托罗拉公司(Motorola)最先推出的一种同步串行传输规范03 是一种单片机外设芯片串行扩展接口,是一种高速、全双工、同步的串行通信总线04 SPI有主、从两种模式,通常由一个主模块和一个或多个从模块组成(SPI不支持多主机),主模块选择一个从模块进行同步通信,从而完成数据的交换。

2024-01-01 17:28:19 1418

原创 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 1139

原创 10 标准库的硬件I2C驱动mpu6050模块

阅读引言:本文只是给大家分享硬件I2C读取mpu6050加速度, 角速度, 温度的代码。

2024-01-01 16:08:11 420

原创 09 标准库和HAL库软件模拟I2C

IIC总线是Philips公司在八十年代初推出的一种串行、半双工总线,主要用于近距离、低速的芯片之间的通信;IIC总线有两根双向的信号线,一根数据线SDA用于收发数据,一根时钟线SCL用于通信双方时钟的同步;IIC总线硬件结构简单,成本较低,因此在各个领域得到了广泛的应用。

2024-01-01 15:35:10 483

原创 08 通信协议之UART

引言: 从本文开始, 本个专题之后的几篇文章都是讲解嵌入式开发中几种常见的通信协议的, 比如UART, I2C,SPI, CAN总线这些我就不讲了, 没用到过, 学是学不完的, 等用到的时候再去学习, 毕竟嵌入式开发有一句话, 技术够用就行。本文涵盖了UART的基础知识, 根据SOC的参考手册就行裸机编程事项uart的功能。

2024-01-01 15:03:19 834

原创 07 HAL库ADC读取电压的值

引言: 本文使用adc读取接在SOC的ADC的通道上外设的模拟数据,本文的的实验对象是一个滑动变阻器, 像其它的ADC外设不如光电管, 火焰传感器, 等等一些里的adc设备的根据都是差不多的。

2024-01-01 11:46:13 1043

原创 06 HAL库驱动PWM常见的外设

引言: 本篇文章我还想给大家分享一下使用到PWM的一些常见外设, 如风扇, 震动马达, 直流电机。这篇文章的基本知识部分就只介绍这些外设的基本知识了, PWM的基本知识有不懂的大家去看蜂鸣器的那篇文章。

2024-01-01 11:08:22 829

原创 05 HAL库驱动蜂鸣器唱出一首小歌

以上代码的头文件是从别处弄来的,懒得写了,给大家再重复一下原理, 头文件种的#define proport 72000 //Tclk/(arr+1)=72000000/(1000)这一句, 就是计算出经过72MHz/计数器的周期值之后的值, 咱们想得到262Hz的频率, 预分频的值是不是将经过72MHz/计数器的周期值之后的值除以262, 这样结果就是预分频的值了, 也就是头文件中的L, M, H。它的优点是结构简单、功耗低、体积小,常见的有被动型和主动型压电蜂鸣器。

2023-12-31 18:08:09 1116

原创 04 HAL库下使用定时器产生一个中断

在单片机中,定时器是一种用于生成特定时间间隔的计时器设备。它通常由一个计数器和相关的控制电路组成,可以在单片机开发中用于各种时间相关的应用,如延时、定时中断、频率计数等。定时器通常由一个特定的时钟源提供时钟信号,这个时钟源可以是外部晶振或者是内部时钟源。定时器的计数器根据时钟信号的频率逐渐递增,当计数器的值达到设定的阈值时,触发一个定时中断或者产生一个特定的事件。通过灵活的配置和编程,可以调整定时器的计数值、时钟源、工作模式和中断使能等参数,从而满足不同应用的时间控制需求。

2023-12-31 16:41:41 1086

原创 03 HAL库下UART的使用

通信的基本概念在单片机的应用中,数据的通信是必不可少的一部分。比如:单片机和上位机、单片机和外围器件之间,它们都有数据通信的需求。由于设备之间的电气特性、传输速率、可靠性要求各不相同,于是就有了各种通信类型、通信协议。我们最常见的有:UART、IIC、SPI、CAN、USB 等。常见的数据通信都具有这四种概念,分别是:数据通信方式、数据传输方向、数据同步方式、通信速率。这么来说吧, 大家思考一下这个问题, 编程的两个大核心是什么?

2023-12-31 15:21:05 930

空空如也

空空如也

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

TA关注的人

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