物联网
文章平均质量分 83
STM32、物联网的相关知识, 还有一些外围模块的驱动分享
@daiwei
学生、学习过程中的知识分享
展开
-
有刷电机、无刷电机
阅读引言: 最近在备赛, 自己之前虽然用过电机, 但是发现在一些高要求的应用场景, 发现自己对电机的知识理解得不是很透彻, 所以写下这篇文章。原创 2024-05-09 20:27:00 · 1289 阅读 · 1 评论 -
短距离无线通信-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 · 2657 阅读 · 0 评论 -
STM32G431RBT6移植FreeRTOS
引言: 本文专门为参加了蓝桥杯嵌入式赛道的同学准备, 大家可能会有这样一个问题, 比完赛之后, 对于像继续使用STM32G431RBT6学习FreeRTOS的, 发现网上的教程使用的板子基本上都是F1和F4的, 其实呢, 随便移植一下就能在我们自己的板子上面运行FreeTROS了。如果大家有Linux的开发经验, 比如系统移植id基础, 那再来学这个FreeRTOS就比较容易了。原创 2024-04-18 23:31:58 · 1501 阅读 · 3 评论 -
半导体厂商
引言: 学习了这么久了, 突然发现对一些陌生类型的单片机的历史、公司、不是很了解, 很多只是听说过, 本片文章的分享就是关于上述疑问的。原创 2024-04-18 17:16:32 · 993 阅读 · 0 评论 -
I2C产生死锁的原因是什么、避免、解决I2C死锁
本文简述的是关于I2C在实际使用中产生死锁的问题, 本片文章会介绍如下内容, 什么是死锁, I2C产生死锁的原因, 导致的后果、以及如何解决。原创 2024-03-23 10:05:51 · 3572 阅读 · 0 评论 -
常见传感器的原理 和 常见滤波算法实现
分享一些ADC常见的滤波算法的实现, 介绍声、光、热、电、力、气和磁传感器的大致工作原理。原创 2024-03-19 23:12:52 · 3416 阅读 · 0 评论 -
单片机卡死的几大原因、分析、解决
阅读引言: 本文我想给大家分享一下我在学习过程中遇到的以及了解到的一些导致单片机运行卡死(死锁)的一些常见原因和解决办法, 请注意, 只是列举,并不是全部, 因为导致单片机运行卡死的原因无穷无尽。原创 2024-03-15 13:50:19 · 3549 阅读 · 1 评论 -
第十五届蓝桥杯-UART接收不定长指令的处理
在过程种大家在初始化函数的地方调用生成好的的uart的初始化函数,接着在调用uart接收并产生中断的哪一个函数, 注意点就是该函数必须接收到指定的字符数才产生中断。不去配置指定的引脚的化, 再uart的参数配置这里配置好后的USART1的默认引脚不是PA9和PA10, 这个坑大家注意一下。打印变量的值, 在逻辑不清楚的时候, 打印变量的值可以很快的帮助我们解决问题。就可以将接收到的数据, 给轻松的解析出来, 剩下的就是逻辑处理的工作了。好了, 就分享这么多, 希望需要帮助的人看了能有思路,不在疑惑!原创 2024-03-11 21:09:39 · 899 阅读 · 0 评论 -
裸机编程的几种模式、架构、缺陷
绝大多数嵌入式初学者都从裸机编程开始,因为它更加直观、简单。通过裸机编程,你能够直接操作硬件,代码所见即所得,调试也非常方便。相比使用操作系统,裸机编程无需掌握大量的操作系统基础知识和调度机制的常识,也不需要考虑资源共享和竞争等概念。此外,裸机编程的调试过程也更加直观。下面是裸机编程中常见的模式和架构:1. 引脚配置和外设初始化:裸机编程的第一步是配置芯片的引脚和初始化外设。通过配置引脚的功能和模式,你可以连接和配置各种外设,如串口、定时器等。原创 2024-03-06 18:12:35 · 2348 阅读 · 0 评论 -
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 · 4642 阅读 · 0 评论 -
蓝桥杯STM32G431RBT6实现按键的单击、双击、长按的识别
阅读引言: 是这样, 我也参加了这个第十五届的蓝桥杯,查看竞赛提纲的时候发现有按键的双击识别, 接着我就自己实现了一个按键双击的识别,但是识别效果不是特别理想,偶尔会出现识别不准确的情况,接着我搜索了各种资料,自己按照网上的提示实现了自己的按键识别代码,在这篇文章中将我使用的这两种办法分享给大家, 此外我还拓展了一些比赛之外的知识。-----------这是一个从0开始代识别按键的单击、双击、长按的文章。学习初衷:不仅仅为了比赛!原创 2024-02-23 14:53:29 · 2582 阅读 · 2 评论 -
CAN通讯协议详解
Can 总线应用最多的是汽车领域,Can 是Control every network 的首字母缩写,意思是控制器局域网控制器局域网, 该通信总线应用最多的是汽车领域。局域网,想必大家都很熟悉,就是把几台电脑连到一个路由器上, 这样这几台电脑就可以通讯了那CAN 和这个也类似,这里的控制器在汽车中的专业术语叫Ecu, 电子控制单元意思是电子控制单元,它可以看作是一台超小型的计算机,它内部集成了供电系统,单片机驱动系统是汽车里面最小的控制模块,为了能让Ecu之间进行通讯,原创 2024-02-08 23:28:07 · 1517 阅读 · 0 评论 -
Haas 开发板连接阿里云上传温湿度和电池电压
本次实验的开发环境的信息如下:软件环境: Ubuntu 16.04 vscode vscode内部的Haas-studio插件 Alios Things SDK version-3.3硬件环境: Haas EDU开发板Haas开发板介绍。原创 2024-02-04 14:14:25 · 906 阅读 · 0 评论 -
物联网操作系统-Alios Things
本篇文章我想给大家分享一下Alios Things这款物联网操作系统的一些相关知识, 并且, 在文章的最后会给出我自己写的,非常详细的学习笔记, 学习笔记的思路清晰, 物联网操作系统的核心知识点都有涉及到, FreeRtos等的物联网操作系统的知识点其实都是一样的,各个机制的实现原理也都大差不差, 提前说明, 本文适合具有良好的C语言基础, 操作系统的基本认知, 数据结构等功底的伙伴阅读, 当然具有linux下的系统编程和驱动编程的基础为最佳, 有linux的基础来看物联网操作系统简直就是小巫见大巫。原创 2024-01-29 10:51:27 · 752 阅读 · 1 评论 -
蓝牙BLE基础知识
蓝牙BLE结构蓝牙技术是一种无线通信技术,可以通过短距离无线信号传输数据。它使用在2.4GHz频段的无线电波来传输数据,具有低功耗、低成本和短距离通信的特点。蓝牙技术最初是由爱立信公司在1994年提出的,目的是解决移动设备之间的无线通信问题。蓝牙技术得名于丹麦国王哈拉尔德·布隆尼尔(Harald Bluetooth),他在10世纪时推动了丹麦和挪威两国的统一。蓝牙技术的应用非常广泛,主要用于个人电子设备之间的短距离通信,比如手机、平板电脑、电脑、耳机、键盘、鼠标等。原创 2024-01-24 21:02:18 · 1965 阅读 · 0 评论 -
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 · 2694 阅读 · 0 评论 -
Altium Designer简介以及下载安装
Altium Designer是一款功能强大的电子设计自动化(EDA)软件,用于设计和开发Printed Circuit Board(PCB)和FPGA(Field-Programmable Gate Array)电路。它提供了全面的电子设计解决方案,包括原理图设计、PCB布局设计、信号完整性分析、组装设计、仿真和设计数据管理等功能。主要特点和功能包括:1. 原理图设计:提供直观的原理图设计界面,并支持多种元件库,方便快速构建电路图。原创 2024-01-15 18:10:17 · 5087 阅读 · 1 评论 -
物联网中的通信技术
物联网的通信层担负着极其重要的信息传递、交换和传输的重任,目前是通信、计算机和自动化等领域一个新兴的研究热点,它必须能够可靠地、实时地采集覆盖区中的各种信息并进行处理,处理后的信息可通过有线或无线方式发送给远端。众所周之,统一的技术标准加速了互联网的发展,这包括在全球范围进行传输的互联网通信协议TCP/IP 协议,路由器协议,终端的构架与操作系统等。因此,我们可以在世界上的任何一个角落,使用任一台电脑连接到互联网中去,很方便的实现电脑互联。原创 2024-01-14 16:19:58 · 2924 阅读 · 0 评论 -
物联网介绍
物联网(Internet of Things,IOT;也称为Web of Things)是指通过各种信息传感设备,如传感器、射频识别(RFID)技术、全球定位系统、红外感应器、激光扫描器、气体感应器等各种装置与技术,实时对任何需要监控、连接、互动的物体或过程,采集其声、光、热、电、力学、化学、生物、位置等各种需要的信息,与互联网结合形成的一个巨大网络。其目的是实现物与物、物与人,所有的物品与网络的连接,方便识别、管理和控制。原创 2024-01-13 23:09:55 · 1043 阅读 · 1 评论 -
13 标准库软件模拟SPI通信时序
引言: 本文基于标准库实现的软件模拟SPI软件时序, 通过控制GPIO管脚的高低电平来模拟出SPI的通信时序要求, 废话不多说,直接给代码。如果还有不太了解SPI的基本知识的小伙伴可以去看我的单片机专题的SPI那篇文章。原创 2024-01-12 16:00:20 · 489 阅读 · 0 评论 -
12 HAL库的硬件SPI驱动数码管
01 SPI是串行外设接口(Serial Peripheral Interface)的缩写02 是美国摩托罗拉公司(Motorola)最先推出的一种同步串行传输规范03 是一种单片机外设芯片串行扩展接口,是一种高速、全双工、同步的串行通信总线04 SPI有主、从两种模式,通常由一个主模块和一个或多个从模块组成(SPI不支持多主机),主模块选择一个从模块进行同步通信,从而完成数据的交换。原创 2024-01-01 17:28:19 · 1587 阅读 · 0 评论 -
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 · 1454 阅读 · 0 评论 -
10 标准库的硬件I2C驱动mpu6050模块
阅读引言:本文只是给大家分享硬件I2C读取mpu6050加速度, 角速度, 温度的代码。原创 2024-01-01 16:08:11 · 479 阅读 · 0 评论 -
09 标准库和HAL库软件模拟I2C
IIC总线是Philips公司在八十年代初推出的一种串行、半双工总线,主要用于近距离、低速的芯片之间的通信;IIC总线有两根双向的信号线,一根数据线SDA用于收发数据,一根时钟线SCL用于通信双方时钟的同步;IIC总线硬件结构简单,成本较低,因此在各个领域得到了广泛的应用。原创 2024-01-01 15:35:10 · 889 阅读 · 3 评论 -
08 通信协议之UART
引言: 从本文开始, 本个专题之后的几篇文章都是讲解嵌入式开发中几种常见的通信协议的, 比如UART, I2C,SPI, CAN总线这些我就不讲了, 没用到过, 学是学不完的, 等用到的时候再去学习, 毕竟嵌入式开发有一句话, 技术够用就行。本文涵盖了UART的基础知识, 根据SOC的参考手册就行裸机编程事项uart的功能。原创 2024-01-01 15:03:19 · 874 阅读 · 0 评论 -
07 HAL库ADC读取电压的值
引言: 本文使用adc读取接在SOC的ADC的通道上外设的模拟数据,本文的的实验对象是一个滑动变阻器, 像其它的ADC外设不如光电管, 火焰传感器, 等等一些里的adc设备的根据都是差不多的。原创 2024-01-01 11:46:13 · 1343 阅读 · 0 评论 -
06 HAL库驱动PWM常见的外设
引言: 本篇文章我还想给大家分享一下使用到PWM的一些常见外设, 如风扇, 震动马达, 直流电机。这篇文章的基本知识部分就只介绍这些外设的基本知识了, PWM的基本知识有不懂的大家去看蜂鸣器的那篇文章。原创 2024-01-01 11:08:22 · 891 阅读 · 0 评论 -
05 HAL库驱动蜂鸣器唱出一首小歌
以上代码的头文件是从别处弄来的,懒得写了,给大家再重复一下原理, 头文件种的#define proport 72000 //Tclk/(arr+1)=72000000/(1000)这一句, 就是计算出经过72MHz/计数器的周期值之后的值, 咱们想得到262Hz的频率, 预分频的值是不是将经过72MHz/计数器的周期值之后的值除以262, 这样结果就是预分频的值了, 也就是头文件中的L, M, H。它的优点是结构简单、功耗低、体积小,常见的有被动型和主动型压电蜂鸣器。原创 2023-12-31 18:08:09 · 1342 阅读 · 0 评论 -
04 HAL库下使用定时器产生一个中断
在单片机中,定时器是一种用于生成特定时间间隔的计时器设备。它通常由一个计数器和相关的控制电路组成,可以在单片机开发中用于各种时间相关的应用,如延时、定时中断、频率计数等。定时器通常由一个特定的时钟源提供时钟信号,这个时钟源可以是外部晶振或者是内部时钟源。定时器的计数器根据时钟信号的频率逐渐递增,当计数器的值达到设定的阈值时,触发一个定时中断或者产生一个特定的事件。通过灵活的配置和编程,可以调整定时器的计数值、时钟源、工作模式和中断使能等参数,从而满足不同应用的时间控制需求。原创 2023-12-31 16:41:41 · 1388 阅读 · 0 评论 -
03 HAL库下UART的使用
通信的基本概念在单片机的应用中,数据的通信是必不可少的一部分。比如:单片机和上位机、单片机和外围器件之间,它们都有数据通信的需求。由于设备之间的电气特性、传输速率、可靠性要求各不相同,于是就有了各种通信类型、通信协议。我们最常见的有:UART、IIC、SPI、CAN、USB 等。常见的数据通信都具有这四种概念,分别是:数据通信方式、数据传输方向、数据同步方式、通信速率。这么来说吧, 大家思考一下这个问题, 编程的两个大核心是什么?原创 2023-12-31 15:21:05 · 1090 阅读 · 0 评论 -
02 HAL库驱动按键响应外部中断
在单片机应用中,按键是一种常见的输入设备,用于接收用户的操作信号。按键通常由金属触点和弹簧组成,当按键被按下时,触点闭合,产生一个输入电平信号。以下是关于单片机中使用的按键的一些简要说明:1. 使用方法:按下按键,则按键闭合,单片机可以检测到按键的状态变化。可以通过轮询(Polling)或中断(Interrupt)的方式来检测按键的状态。2. 接线方法:按键通常需要连接到单片机的IO口上。按键一端连接到单片机的IO引脚,另一端连接到电源或地线。原创 2023-12-31 12:17:14 · 1275 阅读 · 0 评论 -
01 HAL库点亮LED灯
LED(Light Emitting Diode)是一种半导体发光器件,能够将电能直接转化为光能的电子元件。它具有体积小、功耗低、寿命长等特点,广泛应用于照明、显示、指示和通信等领域。LED的工作原理是基于电子的注入和复合过程。LED由两个半导体材料(P型和N型)组成,它们通过一个PN结电路连接在一起。当正向电流作用于PN结时,从P区域注入到N区域的电子与从N区域注入到P区域的空穴进行复合,这个过程会产生光能并发出可见光。原创 2023-12-31 11:37:14 · 933 阅读 · 0 评论