自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

STONE的博客

分享嵌入式,人工智能知识

  • 博客(66)
  • 收藏
  • 关注

原创 嵌入式系统初学者指南

随着 5G 的出现、电动汽车需求的增长以及“智能”设备的兴起,全球嵌入式系统行业的估值将从目前的865 亿美元增长到 1162 亿美元。它与传统软件有点不同,因为您编写的代码需要满足嵌入式系统的各种约束。大多数嵌入式软件工程师都使用 C 语言进行编程,因为它在内存和时间方面的开销较低,但 C++ 甚至 Python (microPython) 等语言在嵌入式世界中越来越受欢迎。嵌入式系统是一种独立的、基于微处理器的计算机系统。里面有完整的知识体系构建路径,还有重要的学习资源包括图书和视频。

2024-04-06 19:34:04 455

原创 如何在C语言中使用指针算术来操作数组和字符串?

在C语言中,指针和数组紧密相关,使用指针算术来操作数组和字符串是一种常见且有效的手段。指针算术基于几个关键原则:指针加一(ptr + 1)将指向下一个数据元素,而不是下一个字节,这取决于指针所指向的数据类型的大小。

2024-04-02 19:49:53 511

原创 什么是人工智能物联网(AIoT)?

人工智能和物联网 (AIoT) 的结合创建了“智能”设备,可以从生成的数据中学习并利用这些见解做出自主决策。人工智能和预测分析有助于收集和分析大量数据,并使用这些信息帮助零售商预测并做出准确的、数据驱动的业务决策。从近年来的各种市场报告来看,都表明物联网终端设备和公司越来越多地采用人工智能技术,从基于云的人工智能转向边缘人工智能,以减少延迟和成本并实现实时监控。预计推动该市场的主要因素是需要高效处理正在生成的大量实时数据从物联网设备获得宝贵的见解、实时监控、增强的用户体验并减少维护成本和停机时间。

2024-04-01 22:03:26 1703

原创 受益于边缘计算的三个关键应用

尽管边缘计算并不是一个新概念,但由于处理能力的提高和这些边缘设备中所包含电子设备的外形尺寸的缩小,边缘计算在嵌入式边缘设备中的应用已经成为可能。除了处理能力的提高之外,传感器和外围设备的发展还增强了可穿戴设备的功能,包括复杂的图形、定位、语音控制和运动传感。可穿戴设备的边缘计算功能还确保快速、安全地处理所生成的大量数据,减少对宽带处理的需求,降低功耗,从而延长电池寿命。SoG 还协调车辆范围内的软件、固件和机器学习模型的无线 (OTA) 更新,不断提高车辆的使用寿命,同时支持车辆 OEM 的增量创收服务。

2024-03-31 14:34:08 1229

原创 了解和使用无操作系统和平台驱动程序

顾名思义,无操作系统驱动程序设计用于通用(或非特定)操作系统。该名称还意味着这些驱动程序可以在没有任何操作系统支持的 BareMetal 系统上使用。无操作系统驱动程序旨在为给定精度转换器的数字接口访问提供高级 API。使用这些 API 的无操作系统驱动程序与设备连接以访问、配置、读取和写入数据,而无需了解寄存器地址(内存映射)及其内容。无操作系统驱动程序利用平台驱动程序层,允许在多个硬件/软件平台上重复使用相同的无操作系统驱动程序,从而使您的固件具有高度可移植性。

2024-03-25 22:20:18 1011

原创 四个重要的IOT物联网协议介绍

物联网 (IoT) 有多种应用程序级协议可供使用,使应用程序开发和维护变得更加容易。然而,考虑到某些应用程序协议的范围、可用性、成熟度和细分市场适用性,某些应用程序协议比其他协议更合适。

2024-03-24 21:52:10 1014

原创 能降低嵌入式系统功耗的三个技术

我们在这篇文章中看到了你可以使用的几种技术,以帮助提高你的设备的电池寿命或减少你的有源设备的能耗。我们经常忘记,在大多数情况下,你得到的是你付出的。其中一种情况是对于低功耗的,以电池为动力的设备。你可以无限优化能源,但通常在优化过程中会有一个“膝点”,在这个点之后,电池寿命的提高会变得更少。大多数与缓存的主要功能有关:提供对频繁使用的数据或指令的更快访问,从而减少CPU访问较慢的主内存的时间。使用商业编译器可能是你可以利用的一种方式,不仅可以从你的代码中得到更好的性能,而且还可以节省电池寿命。

2024-03-23 18:28:12 630

原创 C语言预编译#pragma宏的作用

在嵌入式编程中,#pragma 指令具有非常重要的作用,因为它允许开发者在不同的编译器之间传达特定的编译指令。由于嵌入式编程通常与硬件紧密相关,且资源有限,这些指令可以帮助开发者更有效地利用可用资源,优化程序,以及处理特定的硬件约束。

2024-03-22 22:27:30 528

原创 给计算机专业学生的建议

给计算机专业学生的建议

2024-03-20 21:44:01 462

原创 选择培训机构前,你需要了解的培训机构内幕

很多培训机构是从学员中吸收讲师,这样的讲师成本低,而且了解学员的心理,上课可能会和比较受学员欢迎,但是缺乏工作经验,讲授比较浅显,有时会带偏学习方向。培训班能帮你提升技能,但公司招人的时候一般会看相关项目经验的长短,同时也会看学历学校,所以培训班学生成功找到工作,培训班经历固然是一方面,但同时一个班出来,学历高之前又有相关经验的同学一定好找工作,而且工资也高。教材的编写方面要看,内容的广度和深度,是否把含了主流技术点,项目中是否有这些技术点的深入应用,而不是仅仅就用一个例子就来说明这个技术点。

2024-03-19 16:13:33 1004

原创 STM32中freertos任务不能调度的原因解决

本文是freertos项目中的定位问题,如果定位到同样问题(任务不能调度),可以按下面方法解决。

2024-03-18 11:51:30 847

原创 C语言的宏和预处理器

预处理器在实际编译发生之前扮演着重要的角色,它处理各种预处理指令,这些指令包括宏定义(#define)、文件包含(#include)、条件编译(#ifdef、#ifndef、#if、#else、#elif、#endif),以及编译错误(#error)和行控制(#line)。在上述示例中,如果定义了DEBUG,那么Log宏将被替换为一个输出调试信息的printf调用;如果未定义DEBUG,则为一个空操作,这样可以轻松控制调试信息的输出。

2024-03-17 17:26:59 1185

原创 C语言的位操作与位字段

C语言中的位操作允许程序员直接在整型变量的单个位或位组上进行操作。这种操作在许多低级编程任务中非常有用,尤其是在嵌入式系统编程中,如硬件操作、设备驱动及性能优化等场景。位操作主要使用以下几种位操作符

2024-03-16 21:50:53 834

原创 C语言中volatile关键字的用法

在C语言中,volatile是一个类型修饰符。它告诉编译器,被修饰的变量可能会在程序的控制或知识之外被改变。使用volatile告诉编译器不应优化掉这些变量的读写,因为它们可能会突然改变,而这种改变是编译器无法预测的。这确保了每次访问volatile变量都会直接从它的实际内存地址读取,而不是从可能已经不同步的寄存器或其他缓存中读取。使用volatile的正确性和需要它的场合通常涉及到硬件和并发编程。下面进一步介绍几个volatile。

2024-03-15 17:30:49 529

原创 FreeRTOS入门基础

RTOS是为了更好地在嵌入式系统上实现多任务处理和时间敏感任务而设计的系统。它能确保任务在指定或预期的时间内得到处理。FreeRTOS是一款免费开源的RTOS,它广泛用于需要小型、预测性强、灵活系统的嵌入式设备。

2024-03-14 17:44:49 1461

原创 七个项目掌握freertos

最基本的示例项目,涉及到创建一个简单的任务,用于控制LED的闪烁。这个项目会教你如何初始化FreeRTOS并创建任务。

2024-03-12 22:47:30 1260

原创 不怕没项目做!github上的STM32 优秀开源项目和初学者项目

Go语言编译器,适用于微控制器、WebAssembly、命令行工具,基于LLVM。语言:Go星标数:14,267+描述:TinyGo带来了Go语言在嵌入式系统的实现,使得STM32等微控制器编程更加多样化。- Flipper Zero的固件源码。语言:C星标数:10,699+描述:为Flipper Zero多功能设备提供固件支持,包含了许多和STM32相关的驱动和协议实现。- 嵌入式编程的精选列表。语言:多种星标数:4,834+

2024-03-11 21:58:49 1605

原创 理解STM32的低功耗模式

STM32的低功耗模式是特别设计来减少微控制器在不活跃状态下的能耗。这些模式允许STM32在保持核心功能的同时尽可能减少电力消耗,适合用在电池供电或需长期运行的场景。:在微控制器非活跃阶段关闭CPU和不必要外围设备的时钟信号,减少硬件运行所消耗的能量。:通过降低微控制器的工作频率,减少能量消耗。停止不必要的外围设备:如果外围设备(如ADC,通讯接口)暂时不需要,将它们关闭或设置成低能耗状态。

2024-03-10 19:54:10 1325

原创 经典的算法面试题(2)

给定一个字符串,判断它是否是一个回文字符串。回文字符串是指正序和倒序读都一样的字符串。示例:输入:"level"输出:true输入:"algorithm"输出:false。

2024-03-07 17:56:12 458

原创 STM32的RCC原理(复位和时钟控制)

STM32微控制器的RCC(Reset and Clock Control)模块是一个非常重要的部分,它负责管理微控制器的时钟系统和复位系统。以下是一些基本的原理和概念:时钟源:STM32微控制器的时钟系统有多个时钟源,包括内部的HSI(High Speed Internal)时钟,外部的HSE(High Speed External)时钟,以及PLL(Phase-Locked Loop)时钟。这些时钟源可以根据需要进行选择和配置。

2024-03-06 12:55:35 1176

原创 嵌入式入门必经之路:C语言学习计划

不断学习和探索:C语言是一个非常广泛的编程语言,有很多特性和技巧可以学习。保持学习的态度,阅读相关的书籍、博客和文档,不断探索新的编程概念和技术。阅读和理解代码:找一些开源的C语言项目或者代码库,阅读其中的代码并尝试理解其实现原理。使用版本控制:使用版本控制工具,如Git,来管理你的代码。从简单开始:如果你是初学者,建议从简单的程序开始,如打印一条简单的消息或计算两个数字的和。参与开源项目:如果你感兴趣,可以考虑参与一些开源项目,这样可以与其他开发者合作,学习他们的经验,并为开源社区做出贡献。

2024-03-04 15:45:06 926

原创 经典的算法面试题(1)

给定一个整数数组 nums,编写一个算法将所有的0移到数组的末尾,同时保持非零元素的相对顺序。

2024-03-03 22:57:11 791

原创 STM32 DMA入门指导

DMA,全称直接存储器访问(Direct Memory Access),是一种允许硬件子系统直接读写系统内存的技术,无需中央处理单元(CPU)的介入。下面是DMA的工作原理概述:数据传输触发:DMA传输可以由CPU指令触发,也可以由硬件事件(如一个外设准备好数据)自动触发。外设和内存之间的数据交换:一旦DMA传输开始,DMA控制器会将数据从源地址直接传送到目的地址。源地址常常是外设的数据寄存器,目的地址通常是内存中的一个缓冲区;反之亦然。

2024-03-02 21:58:21 1124

原创 STM32 的ADC使用指南

ADC,即模数转换器(Analog-to-Digital Converter),是一种在微控制器(如STM32)中常见的设备,它能够将模拟信号转换为数字信号。简单来说,我们的现实世界中大部分的信号都是模拟的,比如声音、光线强度、温度等,它们的变化是连续的。而微控制器是数字设备,它处理的是0和1的数字信号。ADC让我们可以读取模拟信号的值,然后将这个连续变化的信号转换成一系列数字,微控制器就可以读取这些数字进行进一步的处理了。

2024-02-29 14:36:00 1510

原创 STM32定时器原理和使用

STM32微控制器提供了一系列的定时器模块(TIM),不同型号的STM32有不同数目和类型的定时器。

2024-02-28 17:47:30 993

原创 数据结构面试题

【代码】数据结构面试题。

2024-02-27 23:03:09 1187

原创 大厂嵌入式公司面试真题

嵌入式公司面试真题

2024-02-24 17:43:17 915

原创 给初学者的嵌入式大纲

嵌入式入门学习大纲,推荐初学者开发板和适合的练习项目。

2024-02-24 17:09:07 823

原创 瑞芯微RK3568芯片介绍

RK3568是一款由瑞芯微电子有限公司(Rockchip Electronics Co. Ltd)推出的高性能多媒体处理器,定位于中高端市场,被广泛应用于平板电脑、多媒体盒子、电子看板和工业控制等领域。此外,瑞芯微经常针对他们的芯片提供软件支持和开发配套,有利于开发者进行快速开发和产品部署。总的来说,RK3568是一个多功能、可适应多种应用的芯片,为各类智能设备提供强大的计算和图形处理性能。

2024-02-23 22:01:04 1209

原创 推荐提高程序员思维水平的一本重量级书籍

如果你是追求技术成长和心智提升的程序员,想要在快节奏、不断变化的编程世界中保持领先,那么Andy Hunt的《程序员的思维修炼:开发认知潜能的九堂课》是你书架上不可或缺的一本书。它不仅提供了实用的技巧和策略来强化你的逻辑思维、学习能力和创造性解决问题的技术,还鼓励你培养一种成长型心态,这将是你职业生涯中不断进步的基石。不论你是资深开发者还是计算机科学的新手,如果你希望提升作为程序员的认知技能,并在工作和生活中更加高效,那么《程序员的思维修炼》无疑是一个宝贵的资源。

2024-02-22 14:29:06 1099

原创 PWM在STM32中使用指南

PWM(脉冲宽度调制)是一种常用来控制模拟电路的技术,通过修改脉冲的宽度(即在固定周期内的高电平持续时间)来调控输出信号的平均电压。一个PWM信号主要包括两个部分:一个是,它决定了信号高电平状态的时间比例;另一个是,它决定了PWM周期的长短。占空比可以通过改变周期内的“ON”时间来调整,如果ON时间长,占空比就高,输出的平均电压就大,反之则小。PWM的优点包括能量损耗小、控制简单和成本低廉。已经广泛应用在各种需要模拟结果的数字控制环境中,如调速风扇、调光灯具、伺服电机控制以及各种电子调制器中。

2024-02-21 14:24:36 1617

原创 MPU6050使用指南

MPU6050是由InvenSense公司生产的一款六轴运动跟踪设备,它集成了一个三轴陀螺仪和一个三轴加速度计。这个小巧的芯片能够通过I2C总线与微控制器通信,广泛用于需要运动或方向检测的设备中。:可以测量设备绕三个空间轴的旋转速度。):可以测量设备在三个空间轴的加速度,即快速运动和倾斜。数字运动处理(DMP):MPU6050内置的DMP可以处理复杂的运动融合算法,减轻主控制器的负担。:可以测量设备的环境温度,并用于陀螺仪和加速度计的温度补偿。

2024-02-20 16:18:36 1428

原创 物联网芯片ESP8266 介绍

ESP8266是一款由Espressif Systems所开发的低成本的Wi-Fi微控制器芯片,它具有内置的TCP/IP网络协议栈,可以提供任何微控制器访问到Wi-Fi网络的能力。

2024-02-19 15:11:18 1558

原创 STM32 USART入门指南

USART是一种串行通讯接口,它支持同步和异步通信。在STM32微控制器中,USART是一个非常灵活的功能模块,可以在多种通信标准下工作,如RS232、RS485、LIN和IrDA。想象一下,有两个设备要通过串口线进行通信。我们称它们为设备A(发送方)和设备B(接收方)。设备准备:开始时,设备A和设备B都设置了相同的波特率。这就像是它们同意按相同的节奏跳舞,确保彼此步调一致。开始传输:设备A想要发送一个字符,比如字母“A”。在ASCII码中,“A”对应的二进制是01000001。

2024-02-18 21:04:22 1432

原创 STM32固件库简介与使用指南

STM32官方标准固件库是由STMicroelectronics(ST)提供的一套软件开发工具,旨在简化STM32微控制器的软件开发过程。该固件库提供了丰富的功能和模块,涵盖了STM32微控制器的各种外设,包括但不限于GPIO、USART、SPI、I2C、定时器、中断控制器等。CMSIS文件夹core_cm3.h:CMSIS核心文件,提供了与Cortex-M3内核的接口。system_stm32f1xx.h:片上外设接入层系统头文件,用于设置系统及总线时钟相关的函数。

2024-02-17 18:09:50 1472

原创 新技术革命开始了,Sora一出,所有的视频人、电影人都下岗

Sora直接用文本制作长达60秒的视频长镜头,也就是说,将来,只需要输入分镜脚本,电影就可以制作出来,不再需要几十人几百人声势浩大地去“拍”了,也不需要什么摄影组演员组服装组化妆组灯光组司机组等等这些臃肿的人群,也不需要去管理剧组,只需要掌握那些组的知识去使用Ai…如果你有电影梦,你不必再为了你的电影去参加创投到处给人看剧本求爷爷融资求奶奶饰演了,电影在庞大Ai的支持下,它终于可以回到最初,用黑泽大师的话来讲,那就是:如果你真想拍电影,那就去写剧本吧,你只需要纸和笔。对游戏、动漫行业来讲,也是一样的。

2024-02-16 19:30:38 532

原创 最详细STM32 启动流程

这三种启动模式为STM32芯片提供了灵活性和可靠性,使其适用于各种不同的应用场景。开发人员可以根据实际需求选择合适的启动模式来确保系统的正常运行和维护。STM32的启动流程比较简单,从这个流程可以学习通用的的ARM系统的启动模式。这段启动代码实现了STM32的启动流程,一、STM32三种启动方式。二、常规启动模式分析。

2024-02-15 20:53:51 1990

原创 Arm发布新的人工智能Cortex-M处理器

ML和DSP性能提升 Arm表示,Cortex-M52将Armv8.1-M Cortex-M系列(包括Cortex-M55和Cortex-M85)扩展到了新的效率点。开发者可以从ML和DSP性能的提升中受益,与以前的Cortex-M代系列相比,ML的性能提升高达5.6倍,DSP的性能提升高达2.7倍。Cortex-M52提供了从Cortex-M33和Cortex-M4的简化迁移路径,可应对各种AIoT应用,实现更丰富的用户界面、语音和视觉体验,如汽车和工业控制、预测性维护和可穿戴传感器融合。

2024-02-07 22:02:41 2659

原创 STM32中断优先级原理及应用

抢占优先级用于确定中断的响应优先级,而子优先级用于确定中断的实际执行优先级。当多个中断同时触发时,系统会优先处理抢占优先级较高的中断,而在相同抢占优先级的情况下,会根据子优先级来确定中断的执行顺序。NVIC的中断优先级由优先级寄存器NVIC_IPRx的4位决定,这4位可以进行切分,分为高n位的抢占优先级和低4-n位的响应优先级抢占优先级高的可以中断嵌套,响应优先级高的可以优先排队,抢占优先级和响应优先级均相同的按中断号排队。根据中断的重要性和响应时序,确定中断的抢占优先级和响应优先级。

2024-02-06 22:49:10 885

原创 STM32外部中断原理及应用

对于嵌入式系统开发者而言,STM32系列微控制器是一个强大而灵活的选择,而外部中断作为其中一项重要的功能,为实时响应外部事件提供了关键支持。本文将带领初学者深入理解STM32外部中断的原理和应用,让你能够轻松地在你的项目中使用它。

2024-02-04 19:38:45 1470

DHT11温湿度传感器驱动程序

DHT11温湿度传感器驱动程序,适用于STM32。采用单总线协议的裸机驱动程序,可以用STM32。经测试绝对可以使用,无需任何修改。默认GPIO端口是PB14,如需接其他端口,请自行修改。

2024-01-18

空空如也

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

TA关注的人

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