![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
物联网开发
文章平均质量分 88
an520_
这个作者很懒,什么都没留下…
展开
-
项目分享| 用树莓派制作国际空间站追踪器
在这个项目中,将会为大家展示如何使用 Raspberry Pi、ePaper Display、ProtoStax Enclosure 和一些 Python, 跟踪和显示国际空间站 (ISS) 的当前位置及其随时间变化的轨迹。树莓派 3 型号 B+:也可以使用 Raspberry Pi Model 4B树莓派4 B型:也可以使用 1B+/2B/3B/3B+用于 Raspberry Pi B+ / 4B 型的 ProtoStax 外壳项目通过Waveshare 电子纸显示器显示显示国际空间站的位置图像。转载 2022-08-25 15:25:09 · 614 阅读 · 0 评论 -
C语言数组在内存中是怎样表示的?
最近群里有位同学问“C语言中数组在内存中是怎样表示的”,今天我们就来聊一聊这个话题。开局一张图:如上图所示,这是经典的Linux进程内存布局,通常我们使用的数据存在这样几个地方:栈区,Stack全局区,Global堆区,Heap接下来,我们分别看一下C语言中的数组在这几个区域是怎样表示的(注意:这里的机器是x86 64位)。原创 2022-08-24 16:09:28 · 1498 阅读 · 1 评论 -
ARM 汇编入门指南(一)【详解,结尾有资料】
本篇文章的目的是希望以一个例子的方式,能够不那么枯燥的的给大家简单介绍一下Android或iOS这些移动终端上ARM架构的CPU是如何执行ARM汇编指令的。如果说程序员在学习任何一门语言的起点都是从学习写helloworld程序开始的,那么本篇文章希望的就是成为你学习ARM汇编的那第一篇入门教程,手把手的带着你用ARM汇编手写一个helloworld程序。转载 2022-08-22 17:00:00 · 2017 阅读 · 1 评论 -
物联网中的智能网关
现有实现方式中最典型的代表就是工业控制计算机(简称工控机),生产厂商将各种接口进行模块(卡)化设计,将其与通用的计算机主机模块结合,就实现了通用计算机接入特定通信系统的目的,客户购买时根据需要选择接口模块(卡)和满足处理能力的通用计算机主机就可以方便的搭建出数据网关的硬件平台,在此基础上再开发专用的数据处理软件,就能够实现强大的数据分析、存储、转发等功能。现代计算机技术的发展带来的丰富的接口选择和强大的计算能力恰好为此提供了条件,一台具备相应接口的,安装了相应数据处理软件的计算机,就是一个数据网关。原创 2022-08-21 15:15:00 · 1810 阅读 · 0 评论 -
从零开始,教你写FreeRTOS双向链表
迷你节点也是节点,但迷你节点仅用于标记链表的末尾和挂载其他插入链表中的节点,用户是用不到迷你节点的,链表头节点和普通节点可以不一样。下面这个头即使链表定义,也是链表头,链表头节点和普通节点可以不一样。节点在FreeRTOS中叫做链表项。转载 2022-08-19 15:34:27 · 495 阅读 · 1 评论 -
嵌入式开发中的滤波器设计
如下图,是频率响应图的一个例子。为了确定滤波器频率响应的细节,我们需要在数学上分析电阻(R)和电容(C)之间的关系,我们还可以操纵这些值,以设计满足精确规格的滤波器。如果我们仔细绘制我们在本文前面设计的滤波器的频率响应,我们将看到5kHz时的幅度响应基本上是0dB(即几乎为零衰减),500kHz时的幅度响应约为-14dB(对应于0.2的增益)。二阶RC滤波器的行为不符合预期,因为两个滤波阶段不是独立的,因此不能简单地将这两个滤波器连接在一起,并将电路分析为一阶低通滤波器叠加一个相同的一阶低通过滤。.....原创 2022-08-16 16:20:51 · 1316 阅读 · 0 评论 -
单片机人机交互--矩阵按键
按键是一种常开型按钮开关,与单片机的常见接法如图所示。按键未按下时两个触点断开,单片机I/O口输入高电平;当按键闭合时,I/O口输入低电平。原创 2022-08-10 14:49:01 · 799 阅读 · 0 评论 -
图像传感器何以推动嵌入式视觉技术的发展?
在这些情形下,减低图像传感器在低亮度环境下的噪声便能实现更低的功耗。但比图像传感器更重要的是,成像模块形式的拿到即可快速应用的板级解决方案的出现,为进一步优化尺寸、重量、功耗和成本铺平了道路,并通过来自消费市场的成本可接受的经过深度学习优化的图像信号处理器,大幅降低开发成本和时间,而不增加额外的复杂性。,例如,通过定义合并/共享相同的像素结构以获得稳定的光电性能,通过相同的光学中心来共享单个前端结构,以及兼容的PCB组件 (方法是尺寸兼容或针脚兼容),从而加快评估、集成和供应链,如图1所示。...转载 2022-08-05 08:15:00 · 310 阅读 · 0 评论 -
单片机遥控开关系统设计(结构原理、电路、程序)
本设计提出了一种基于单片机的遥控开关系统。通过对样机的测试结果表明,本系统采用单片机进行遥控系统的应用设计,具有编程灵活多样,操作码个数可随意设定等优点。一般设备系统采用专用的遥控编码及解码集成电路。此方案具有制作简单,容易等特点,但由于功能键数及功能受到特定的限制,只适合用于某一专用电器产品的应用,应用范围受到限制。而本系统消除了此问题,智能化大大提高。通过对样机的调试运行,节能效果很好,具有极其广泛的应用价值和应用前景。1 引言随着电子技术的飞速发展,新型大规模遥控集成电路的不断出现,遥控技术有了日新月原创 2022-08-01 15:25:21 · 4685 阅读 · 0 评论 -
零基础如何学习单片机,一位入门者的进阶路径,可参考
比如SPI,我用它的时候就只是很简单的移植程序(在某宝买回来的模块,客服都会顺便把例程给你了),看懂了例程,然后就可以按自己的想法修改程序了,根本没吃透SPI,但是对SPI有了一个感性的认识,回过头来再总结,联想自己做项目遇到的技术难题,就会发现是某个知识点不知道从而下不了手而已。对了,光看资料是不够的,因为资料是非常凌乱的,你根本不知道从哪开始看,这个时候就很有必要买一本关于单片机的书,因为讲技术的书籍都是整理好的,你做什么模块,就看那一章节,边做实验边看书边看资料,学习是非常快的。...转载 2022-07-31 15:30:00 · 4036 阅读 · 0 评论 -
嵌入式开发经验分享,把学习当作一种兴趣
由于我做的是软件,在公司看硬件资料不好意思,所以开始只好在家看,刚来上海工作我连续一年都在加班,后来不加了,因为我要挤出时间学习,通常我12点左右睡,第二天5点半起,我上班比较早,地铁上如果人不多,我也用来看书。在入门阶段的问题我通常不去问那些资深人士,而是问一些资历比较浅的朋友,比如刚毕业不久的学生,因为他们往往会跟你详细的讲解,而资深人士通常觉得你的问题太简单,所以回答的也很简单,我又不好意思多问。其他的一切我都比较满意,唯独薪资差强人意,我也明白原因,因为我是这个行业的新人,我没有经验。.......原创 2022-07-29 12:00:00 · 1241 阅读 · 0 评论 -
物联网技术栈之网关技术
和传统企业应用于互联网应用相比,物联网的技术栈更宽泛更复杂。大致可以将物联网归类为以下 6 组技术栈:物联网网关M2M/IoT 通信服务大数据和过程管理用户交互平台和赋能安全每组技术栈的纵深都很陡峭,都可以单独作为一个学科来研究和讨论。在这里我们只做关键技术的一个概述,介绍它们与其他概念的一个关系,从而为项目经理、产品经理和解决方案架构师提供不同技术的一个概览,使他们更好地了解什么时候使用(不使用)这些技术(取决于具体项目的情况)。本篇文章主要介绍物联网网关相关技术。在物联网解决方案中,网关是一个至关重要的原创 2022-07-28 10:00:00 · 1173 阅读 · 0 评论 -
基于STM32的CAN通讯测试:让地球仪转起来
SAEJ1939以CAN2.0B为基础,通过CAN总线进行数据通信,它的数据链路层定义了信息帧的数据结构、编码规则、包括通信优先级、传输方式、通信要求、总线仲裁等,负责将29位标识符进行重新分组定义,使报文标识符能描述报文的全部特征,包括目标地址及源地址等内容。这种通讯结构是非主从式的,也就是任何节点都可以在总线上自由发言,广播式的通信最大的问题就是没有对象,各节点总是时刻在选取总线上自己关心的报文进行接收,然后处理,对于不关心的就过滤掉。这其实是自己开始时很困惑的地方,直到参悟了报文帧中的仲裁域。...原创 2022-07-19 14:43:15 · 1044 阅读 · 0 评论 -
新建STM32工程并配置——基于寄存器
10.在“ManageProject”中添加“USER”、“SYSTEM”分组,然后把main.c文件添加到“USER”分组中;11.从下载的文件中寻找到“delay”、“sys”、“usart”三个文件夹,然后将其中的.c文件添加到工程目录。8.因为启动文件不同,因此代码会存在一定的差别,因此需要将启动文件的某段代码进行替换成下面的代码;1.新建一个文件夹,自己根据所要进行的项目进行命名“超声波测距”,同样在内部新建“USER”;C8T6选择“STM32F10X_MD“,然后添加头文件的路径。......原创 2022-07-19 11:54:51 · 590 阅读 · 0 评论 -
10天学会STM32的学习心得总结
这里所谓的“入门”,指的是能理解并掌握一些常用的STM32外设,真正想掌握一款处理器,两周根本说明不了什么问题。这里我主要强调的是,阅读《STM32固件库使用手册》的时候,前面几章也是必须阅读的。当你需要使用STM32某些功能,而51实现不了的时候,那STM32自然不需要学习,你会直接去寻找STM32某方面的使用方法。实际上,后续的章节,都是描述某个模块有什么什么函数,每个函数如何使用等。搞一个开发板,挑选部分例程的HEX,比如LED灯的例程HEX文件,下载到STM32开发板中,观察运行情况。...转载 2022-07-18 20:15:00 · 871 阅读 · 0 评论 -
【物联网】WiFi基础知识 (二)【看评论区领取资料】
三、一些原理1、常见的帧在802.11中的帧有三种类型:管理帧(Management Frame,例如Beacon帧、Association帧)、控制帧(Control Frame,例如RTS帧、CTS帧、ACK帧)、数据帧(Data Frame,承载数据的载体,其中的DS字段用来标识方向很重要)。帧头部中的类型字段中会标识出该帧属于哪个字段。(*)ACK帧单播(unicast)帧都需要用ACK来确认,ACK本身不是广播帧,ACK在MAC上是unicast的,帧中有receive地址字段(用来标识是对谁的确原创 2022-07-15 12:30:00 · 833 阅读 · 1 评论 -
NB-IoT到底能干些啥?
NB-IoT这个英文名字,相信大家都不陌生,但它具体能做哪些事情呢?可能大家会有些许疑惑。今天,就让我们来举几个NB-IoT在实际生活中的应用例子吧。NB-IoT在畜牧业中的应用畜牧业主要分为圈养和放养,中国的北部和西部边疆为主要放牧区。放养的优势在于牲畜肉质品质高、降低饲料成本等,但是随之而来的是在牲畜管理上的诸多不便。【学习交流群769843038,文章结尾有资料】人工放牧是最原始和最直接的办法,但是会有一些弊端:1. 人工放养需要专人放养,浪费人力2. 人工放养有安全隐患,有被野生动物袭击的危险3.原创 2022-07-07 12:00:00 · 1142 阅读 · 0 评论 -
项目分享| 自制“可爬墙”无人机
这篇项目将和大家分享如何制作ESP8266无人机(这个无人机可以爬墙)以及它是如何工作的。我们都知道无人机的功能是什么,就是能飞,如果告诉你这个无人机能爬到墙上或者像潜水艇一样进入水下,你会觉得有点神奇,作者表示,下面介绍的这个无人机就能做到!(让我们先来看看无人机的主要部件)ESP8266MPU6050 Acc/Gyro模块有刷电机螺旋桨500 mAh lipo3.7vSi2302mosfet (5x)铅笔如果你是电子爱好者,你会发现下面列出的所有部件你都有 -:)电烙铁一架无人机需要有机架、电机、螺旋桨转载 2022-07-05 11:54:43 · 668 阅读 · 0 评论 -
我们用STM32开发时为什么要使用架构
大家好我是小火,想学习单片机的同学可以关注、私信我或者在评论区回复我要入门。很多入门的初学者还不知道架构的意义,但是从业者就了解架构所带来的好处。工作和我们在学校学习是两种不同的概念,在学校大把的时间可以任意让你挥霍,但是在工作中老板只会不断的去压榨你的时间,所以我们作为从业者为了让自己有时间做自己的事,接点私活搞点创收,有一个好的架构设计就很重要了。我们设计的架构首先要应用代码逻辑清晰、避免代码重复做无效的工作;代码尽量写得通用一些,方便以后我们进行软件的移植;一些特殊的功能进行分割独立出来,方便二次使用原创 2022-07-04 15:34:02 · 950 阅读 · 0 评论 -
【毕业设计】STM32的智慧空调系统
摘要:在闷热的夏天,外出回家就能享受凉爽的室内环境是每个人都期盼的,基于此想法设计了以STM32为控制器, esp8266为无线通信模块,将设备接入机智云物联网平台,通过APP实现联网控制的智慧空调系统。1 引言将无线传感网络配置入网通过特定的通信协议接入物联网平台,便可轻松实现联网控制。特定的通信协议保证了可靠稳定的数据交换[1], 物联网云平台作为数据处理中心, 将传感网络终端获得的数据进行处理或存储, 同时提供一个界面给用户查看和操作[2]。本文通过机智云AIoT平台, 简单地制作了联网控制的智慧空调原创 2022-07-03 10:30:00 · 2143 阅读 · 0 评论 -
求职攻略| 硬核公司的硬件笔试题长什么样?先来5道选择题
本轮解析的是大疆的硬件工程师岗位笔试题目,算是相当硬核的一套题。一方面综合度非常高,包含了电源、信号链、总线协议、信号完整性、分立器件、示波器等多领域的知识,另一方面题目难度对于应届生而言比较高,其中一些题目如果没有深入研究过某一方向的知识很难短时间内得到答案。对于这样的题目,注重平时的知识积累是最好的准备方法。1. 关于开关电源(DCDC)和线性稳压(LDO)电源,下面说法错误的是()(单选)A.LDO只能用于降压,而DCDC升降压皆可B.LDO输出电容的ESR越小越好C.DCDC比LDO更适合于大负载电原创 2022-07-01 13:12:02 · 2009 阅读 · 0 评论 -
STM32人脸识别系统设计(程序代码+论文)
本设计基于STM32人脸识别系统方案设计(程序代码+设计说明书)程序编译器:keil 5编程语言:C语言设计编号:C0058设计介绍:采用正点原子探索者开发板;摄像头选用OV2640可实现功能:可以实现进入页面的设定自定义DIY;可以自由的添加需要识别的人脸;人脸靠近,按下识别按键可以实现人脸识别。如果在系统库中会提示是那个人,如果不在会提示不在库中。温馨提醒:本历程需要使用SD卡,相关文件会出存在SD卡中,同时人脸识别在ARM上属于阉割版本,准确率不能达到100%。资料包括:系统设计实物图(使用组件直接组原创 2022-06-30 15:30:00 · 6678 阅读 · 9 评论 -
嵌入式通信协议传输原理
UART、SPI、 I2C等串行通信是嵌入式开发中非常常见的通信方式,这些通信的最底层通信原理其实不难,但很多初学者却学不会。今天分享一些常见通信的底层数据传输原理。UART:Universal Asynchronous Receiver/Transmitter,通用异步收发传输器。UART串口是最常见的一种串口通信,下面是串口连接上位机电脑,以及RS232应用的动画。▲ PC上通过UART来调试MCU▲RS-232通过电平转换芯片与MCU通讯SPI:Serial Peripheral Interface转载 2022-06-27 18:00:00 · 238 阅读 · 1 评论 -
教你怎么更好的学习嵌入式开发
很多大学生、初学者总爱问一个问题:该不该放弃嵌入式、单片机这条路?以下是一位网友分享的嵌入式开发经历,希望可以帮到你。学习本专业知识(EE专业),学习嵌入式软件开发需要的计算机课程(汇编原理,计算机组成原理,操作系统,C语言等),学习嵌入式项目(来源于实验室项目,自己想到的项目以及各种比赛)。① 学习51单片机。这个阶段你只需要跟着郭天翔的视频去学,只要求实现功能,不求甚解。但建议能够提出问题,比如“为什么往IO控制寄存器写入特定值能点亮LED灯?”“IO口的电路结构是什么样子的?”“什么是上拉下拉,灌电流转载 2022-06-27 10:37:22 · 832 阅读 · 0 评论 -
简单几步教你用ESP8266 WiFi模组点灯
ESP8266 WiFi模组点灯在ESP8266模组SDK开发环境搭建一文中已经介绍过了SDK开发环境的搭建以及工程样板app的创建,本文在此基础上介绍如何通过简单的几个步骤点亮开发板上的LED灯1. 需求分析点灯任务要实现的功能:使用freeRTOS创建一个任务,使NodeMCU板上的LED灯,每1s钟闪烁一次,同时串口打印出LED状态原理图:由下图可知,LED1连接在GPIO16上,低电平点亮,高电平关闭2. 实现步骤 在ESP8266_RTOS_SDK目录下新建led文件夹,把在ESP8266模组SD转载 2022-06-25 19:15:00 · 1636 阅读 · 0 评论 -
IoT毕业设计 | STM32+机智云AIoT云平台实现智能鸽笼控制 【文章结尾有资料】
本智能鸽笼控制系统,基于STM32+机智云AIoT云平台设计专为赛鸽进笼检测的装置,利用机智云平台进行数据的传输交换,通过 WiFi 模块与云端的通信,将采集到的温湿度、归巢时间、告警信号等发送到手机 APP 端,同时在鸽子归巢时通过拨打人员电话,在断网的情况下可以进行按键操作,最终以物联网控制的方式能够对赛鸽进行有效的饲养选育。在赛鸽养殖中,饲养者因为工作生活繁忙等原因将无法按时喂养鸽子,同时赛鸽的养殖往往需要直接接触鸽子羽毛排泄物等,卫生问题尤为突出。在优秀乳鸽的选择上,通常采用给鸽子佩戴高昂的赛鸽计时转载 2022-06-23 15:14:45 · 483 阅读 · 0 评论 -
嵌入式开发中的滤波器设计
什么是滤波器?各种传感器信号多多少少会携带一些噪声信号,那么通过滤波器就能够更好的降低和去除噪声,还原真实有用信号。滤波器是一个电路,其去除或“过滤掉”频率分量的特定范围。换句话说,它将信号的频谱分离为将要通过的频率分量和将被阻隔的频率分量。如果您对频域分析没有太多经验,您可能仍然不确定这些频率成分是什么,以及它们如何在不能同时具有多个电压值的信号中共存。让我们看一个有助于澄清这个概念的简短例子。假设我们有一个由完美的5kHz正弦波组成的音频信号。我们知道时域中的正弦波是什么样的,在频域中我们只能看到5kH转载 2022-06-22 16:55:14 · 337 阅读 · 0 评论 -
基于STM32的BLE项目【文章结尾有学习资料】
介绍该项目是一个简单的示例,展示了将 STM32Cube 项目设置为能够与 BleuIO Dongle 通信的 USB CDC 主机的快速方法。当 BleuIO Dongle 连接到 Nucleo 板的 USB 端口时,STM32 会识别它。然后它将接受来自 UART 的 3 个不同输入,并根据输入将 3 个预编程命令之一发送到 BleuIO Dongle。本示例中使用的命令是:ATI(加密狗信息)AT+ADVSTART(开始广告)AT+ADVSTOP(停止广告)我们使用了STM32 Nucleo-144开转载 2022-06-21 15:00:00 · 606 阅读 · 0 评论 -
10个细节提高单片机抗干扰能力
前言1 干扰对单片机应用系统的影响1.1测量数据误差加大1.2 控制系统失灵1.3 影响单片机RAM存储器和E2PROM等1.4 程序运行失常2 如何提高我们设备的抗干扰能力2.1 解决来自电源端的干扰2.2 模拟信号采样抗干扰技术2.3 数字信号传输通道的抗干扰技术2.4 硬件监控电路2.5 PCB电路合理布线2.6 软件抗干扰原理及方法3 总结随着单片机的发展,单片机在家用电器、工业自动化、生产过程控制、智能仪器仪表等领域的应用越来越广泛。然而处于同一电力系统中的各种电气设备通过电或磁的联系彼此紧密相连转载 2022-06-20 20:30:00 · 2869 阅读 · 0 评论 -
嵌入式开发者都该了解的10大算法
算法一:快速排序法快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。 快速排序使用分治法(Divide and conquer)策略来把一个串行(list)分为两个子串行(sub-lists)。> > > >算法步骤1 从数列中挑出一个元素,称为 “基准”转载 2022-06-20 10:26:39 · 3347 阅读 · 0 评论 -
C语言的注释要注意几点
如果领导给你一个项目的源码让你阅读,并理解重构代码,但里面一句注释都没有,我想这肯定是之前同事“删库跑路”了。看一份源码什么很重要?除了各种代码规范之外,还有一个比较重要的就是注释。注释虽然写起来很痛苦, 但对保证代码可读性至关重要,下面的将描述如何注释以及在哪儿注释。注释风格1.总述一般使用 或 ,只要统一就好。2.说明 或 都可以,但 更 常用,要在如何注释及注释风格上确保统一。文件注释1.总述在每一个文件开头加入版权、作者、时间等描述。文件注释描述了该文件的内容,如果一个文件只声明,或实现,或测转载 2022-06-18 19:30:00 · 272 阅读 · 0 评论 -
项目分享| DIY STM32植物监测系统,园艺大师指日可待
疫情让很多人成为园艺大师,在家种上了蔬菜。如何科学规范的种植呢?今天分享的就是一套近乎0基础就可以实现的植物监测系统。 系统功能监控包括:空气/土壤水分空气/土壤温度亮度(包括RGB 光线)附加的功能:还可以发送本地化信息,从而提供天气预报。为监控系统创建了一个Twitter帐户。使用 Sigfox 发送的每条消息也作为推文发送。项目设计相关资料可以在“达尔闻说”微信回复:STM32环境监测。项目需要的知识储备微控制器编程 如何阅读数据表并提取最重要的数据I2C、SPI、UART、CRC 协议如何使用 S转载 2022-06-17 13:20:00 · 746 阅读 · 0 评论 -
基于ESP8266的四轴飞行器
这个项目里我将向您展示如何使用ESP8266 (12e) 制作四轴飞行器,我们使用 ESP8266 作为飞行控制器。并且据说这架无人机可以爬墙,你是不是很震惊?开玩笑的,让我们继续往下看吧!飞控飞行控制器 (FC) 是四轴飞行器的大脑。它基本上是一个集成电路板,包括检测方向变化的传感器。它还接收用户命令并控制电机以使四轴飞行器保持在空中。市场上有许多飞行控制板。其中有些是开源的,有些不是。Esp8266 四轴飞行器的耗材所需组件:Esp8266MPU6050 加速/陀螺模块有刷电机螺旋桨500 mAh li转载 2022-06-14 18:33:18 · 2281 阅读 · 2 评论 -
ESP8266开发-Arduino IDE安装、配置与使用
ESP8266是一款价格十分亲民的wifi模块,在某宝上一块ESP8266开发板只要10几块钱!可以买来玩玩一些物联网相关的小项目。ESP8266的开发方式有多种,目前我了解到的有:使用Arduino IDE开发,沿用Arduino的开发风格,简单易上手使用ESP8266官方的SDK开发使用MicroPython开发,沿用Python的编程风格,此方式需要先给板子烧写一个特殊的固件因为我之前玩过Arduino,而且Arduino编程简单易操作,所以就选择先使用Arduino IDE来玩一玩ESP8266。A转载 2022-06-14 19:30:00 · 3174 阅读 · 1 评论 -
LoRa技术讲解
在选择诸多无线传输的模块和产品中,我们总是能听到或看见:XXX模块采用了LoRa技术,可以低功耗远距离通信...为何“LoRa”的出镜率会如此之高?它有着哪些独到的特点和优势让人们欲罢不能?本期我们便带大家走近LoRa,看看它到底“神”在哪里...NO.1 什么是LoRa?LoRa(Long Range Radio)是semtech公司(知名半导体供应商)开发的一种低功耗局域网无线标准,它最大特点就是在同样的功耗条件下可比其他无线射频通信距离扩大3-5倍,实现了低功耗和远距离的统一。我们知道,一般情况下,低转载 2022-06-14 13:27:52 · 3333 阅读 · 0 评论 -
STM32固件逆向 【文章结尾有资料】
概括用的很久之前做的一个电风扇的课设来做实验。用到了外部中断,定时器中断,pwm。MCU是STM32F103ZET6。 在keil的设置中可以看到固件的起始地址,默认情况下为0x8000000。另外,keil生成的是hex文件,hex文件是带有基地址信息的bin文件,如果我们要生成bin文件,需要进行如下设置:另外,烧录到mcu中的固件是不带符号表等调试信息的,即hex和bin文件都不带调试信息,因为mcu的内存有限,但keil会单独生成一个带有调试信息的axf文件,我们可以以这个axf文件为基准,对照着转载 2022-06-13 10:39:29 · 1731 阅读 · 0 评论 -
STM32编程中枚举和结构体的结合~
01结构体定义基本定义:结构体,通俗讲就像是打包封装,把一些有共同特征(比如同属于某一类事物的属性,往往是某种业务相关属性的聚合)的变量封装在内部,通过一定方法访问修改内部变量。结构体的定义:第一种:只有结构体定义基本定义:结构体,通俗讲就像是打包封装,把一些有共同特征(比如同属于某一类事物的属性,往往是某种业务相关属性的聚合)的变量封装在内部,通过一定方法访问修改内部变量。结构体的定义:第一种:只有结构体定义 【学习交流,请进:607439754】第二种:附加该结构体类型的“结构体变量”的初始化转载 2022-06-09 07:00:00 · 389 阅读 · 0 评论 -
STM32的串口应用总结
首先总结一下串口232,422,485串口232:可双向传输,全双工,最大速率20Kbps,负逻辑电平,-15V~-3V逻辑“1”, 3V~ 15V逻辑“0”。串口422:可双向传输,4线全双工,2线单工。串口485:可双向传输,4线全双工,2线单工,最大速率10Mb/s,差分信号,发送端: 2V~ 6V逻辑“1”,-2V~-6V逻辑“0”,接收端: 200mV逻辑“1”,-200mV逻辑“0”。对于串口的实现有以两个方案:方案一,和原子的《例说STM32》一样,首先接收,然后处理,没有消息验证处理,这样就转载 2022-06-09 12:00:00 · 1216 阅读 · 0 评论 -
STM32的ADC采样DMA方式通道间有干扰,怎么破?
前段时间,我用STM32F103C8T6做了个多路电压采样的小东西,用到了ADC的多通道DMA方式传输。但在使用的过程中发现了一个问题,也就是网上都在说的通道间存在干扰的问题。原理图如下:这两个是旋钮式的电位器,分别通过一个1K的电阻接到单片机的AD管脚上,采样得到的电压值通过数码管实时显示。ADC管脚是PA5和PA6,它们两个既属于ADC1也属于ADC2,我把它配置成了STM32的ADC1的通道5和通道6。使用过程中的现象表现为:当两个电位器都不动,数码管显示两路的电压值时,值基本是固定的,没有问题。当快原创 2022-06-08 17:00:00 · 6466 阅读 · 0 评论 -
FreeRTOS中的任务句柄到底是什么意思?【文章结尾有资料】
摘要:学过用过FreeRTOS的人都知道,在创建任务时候我们都要定义一个任务句柄,这个任务句柄有啥含义?书上的解释是任务创建成功以后会返回此任务的任务句柄,这个句柄就是任务的堆栈。此参数就用来保存这个任务句柄。其他API函数可能会使用到这个句柄。那么任务句柄是到底是怎么一回事,它保存的是任务控制块的首地址。那么它又是如何来保存任务的首地址呢?这就是我们今天要讨论的话题。我尽量写得通俗易懂,让大家都能轻松理解。动态创建一个任务 参数:pxTaskCode:任务函数。pcName:任务名字,一般用于追踪和调试,转载 2022-06-08 07:00:00 · 2134 阅读 · 3 评论