
嵌入式工程师
文章平均质量分 89
JiaYu嵌入式
物联网工程、嵌入式工程师、嵌入式讲师、高校竞赛导师、高校毕设导师
展开
-
在Keil5中使用STlink调试及烧录代码问题汇总(超详细)
总结不宜,一键三连,后期会一直更新此博文!!!!!1.环境与基础配置问题(时钟线) → 目标板SWD接口的SWCLK引脚(数据线) → 目标板SWD接口的SWDIO引脚→ 目标板GND→ 可选(若目标板无电源,可供电)1.1 ST-Link驱动问题问题描述:Keil5无法识别ST-Link,提示“No ST-Link detected”。解决方案1. 下载最新版ST-Link驱动:[原创 2025-03-15 14:19:49 · 5836 阅读 · 10 评论 -
一张图看懂:人工智能、机器学习、深度学习和人工神经网络四个概念之间的相互关系
在这个例子中,人工智能是驾驶员整体的能力,机器学习是他通过经验提升驾驶技巧的过程,深度学习是他应对复杂驾驶情境的能力,而神经网络是支持这些决策的具体技术工具。最外层代表人工智能 (AI),内部依次嵌套机器学习 (ML)、深度学习 (DL) 和人工神经网络 (ANN),展示了它们从广义到狭义的递进关系。这张图,展示了人工智能(AI)、机器学习(ML)、深度学习(DL)和人工神经网络(ANN)之间的相互关系。人工智能(AI)、机器学习(ML)、深度学习(DL)和人工神经网络(ANN)是相互关联的层次性概念。原创 2024-10-23 21:34:23 · 1631 阅读 · 0 评论 -
国产单片机及其特点
HC32L136(专为延长便携式测量系统的电池寿命而设计)、HC32F003和HC32F460(分别适用于不同的应用场景,提供高性能、低功耗和稳定可靠的特点)。新唐科技的8位单片机基于8051内核,具有高性能、低功耗和丰富的外设接口,适用于各种工业控制、家电、消费类电子产品等领域。初学者可以选择一款性价比高的单片机进行学习,随着技能的提升再逐渐转向更高端、更复杂的单片机。:高性能、低功耗和丰富的外设接口。:基于Intel 8051内核的8位单片机,具有高效的指令执行能力和快速的运算速度。原创 2024-10-16 16:04:21 · 2606 阅读 · 0 评论 -
JiaYu纪念日-1024(停更一年,涨粉6万,致歉!)
这些反馈让我知道,我的努力是有价值的,我的分享能够真正帮助到别人。同时,与同行的交流和互动也让我获得了更多的灵感和见解,这些都有助于我在工作和学习中取得更好的成绩。因此,我希望通过撰写文章,搭建一个技术交流的平台,让更多人能够分享自己的见解和经验,共同推动技术的进步。在CSDN创作的过程中,我收获了诸多宝贵的经历和成果,这些不仅丰富了我的职业生涯,也加深了我对技术领域的理解和热爱。原创 2024-10-16 15:02:34 · 2218 阅读 · 13 评论 -
STM32串口通信详解(嵌入式学习)
通用同步异步收发器(USART)提供了一个灵活的方式,使 MCU 可以与外部设备通过工业标准 NRZ 的形式实现全双工异步串行数据通讯。USART 可以使用分数波特率发生器,提供了超宽的波特率设置范围。USART 支持同步通讯模式和半双工单线通讯。也支持 LIN(本地互联网络),智能卡协议和IrDA(红外数据协会)SIR ENDEC 规范和 modem 流控操作(CTS/RTS)同时还 支持多机通讯方式。可以使用 DMA 实现多缓冲区设置,从而能够支持高速数据通讯。原创 2023-06-16 17:32:15 · 6939 阅读 · 4 评论 -
STM32的时钟系统(嵌入式学习)
时钟是嵌入式系统的脉搏,处理器内核在时钟驱动下完成指令执行,状态变换等动作,外设部件在时钟的驱动下完成各种工作,例如:串口数据的发送、AD转换、定时器计数等。由系统时钟SYSCLK分频得到,一般不分频,等于系统时钟,HCLK是高速外设时钟,是给外部设备的,比如内存,flash。时钟发生器(Clock Generator):时钟发生器接收振荡器提供的时钟信号,并根据需要生成其他频率的时钟信号。分频器是一个时钟调整器,它将系统时钟或外部时钟信号进行分频,以获得所需的较低频率时钟信号。原创 2023-06-21 19:57:30 · 4529 阅读 · 0 评论 -
STM32的定时器详解(嵌入式学习)
今天我们要讲解STM32的定时器。想要了解STM32的时钟系统点击这里跳转——》STM32的时钟系统(嵌入式学习)建议先看看时钟树如何配置点击这里跳转——》STM32的时钟树配置(嵌入式学习)跳转——》STM32的时钟基础详解(嵌入式学习)跳跳转——》STM32的时钟源详解(嵌入式学习)原创 2023-06-21 21:03:27 · 5825 阅读 · 0 评论 -
单片机STM32看门狗详解(嵌入式学习)
单片机STM32的看门狗(Watchdog)是一种硬件定时器,用于监控系统的运行状态并在出现故障或死锁时采取措施以恢复正常操作。看门狗的主要功能是定期检查系统是否正常运行,并在系统出现问题时触发复位操作。STM32系列单片机通常配备了内置的看门狗定时器(通常称为独立看门狗,IWDG)和窗口看门狗定时器(WWDG),以提供更可靠的系统保护。独立看门狗(IWDG)是STM32中常用的看门狗,它是一个独立的硬件模块,可以在系统内部独立运行。通过配置IWDG定时器的计数器和预分频器,可以设置看门狗的定时时间。原创 2023-06-26 10:43:47 · 11798 阅读 · 0 评论 -
有几种方法修改QPushButton的大小、文字颜色等属性?(Qt面试题)
QPushButton是Qt框架中的一个按钮类,用于在用户界面中创建按钮。它继承自QAbstractButton类,并提供了一系列方法和信号来处理按钮的交互和状态。原创 2023-06-27 10:36:45 · 12653 阅读 · 0 评论 -
基本的组合门电路、以及二极管、三极管(详细讲解)
基本的组合逻辑门电路是由逻辑门构成的电路,逻辑门可以实现不同的布尔逻辑功能,例如与门、或门、非门等。原创 2023-06-29 22:30:39 · 4640 阅读 · 0 评论 -
蓝牙模块(HC-05/HC-06)详解
蓝牙(Bluetooth)是一种用于无线通信的技术标准,允许设备在短距离内进行数据交换和通信。它是由爱立信(Ericsson)公司在1994年推出的,以取代传统的有线连接方式,使设备之间能够实现低功耗、低成本的数据传输和通信。原创 2023-06-30 20:39:42 · 49139 阅读 · 1 评论 -
Zigbee模块(CC2530)详解
Zigbee是一种无线通信协议,专为低功耗、低数据速率的应用而设计。它工作在2.4 GHz频段,常用于家庭自动化、工业自动化和无线传感器网络等应用。Zigbee基于IEEE 802.15.4标准,该标准定义了用于低速无线个人局域网(LR-WPANs)的物理层和介质访问控制(MAC)层。Zigbee在此基础上提供了网络层、安全特性和各种用例的应用框架。Zigbee的一个关键特性是低功耗,适用于使用电池供电的设备。它支持多种网络拓扑结构,包括星型、网状和簇树,实现了灵活和可扩展的网络配置。原创 2023-06-30 20:55:11 · 35119 阅读 · 3 评论 -
Wi-Fi模块(ESP8266)详解
Wi-Fi模块是一种用于无线通信的设备,它能够通过Wi-Fi技术实现设备之间的无线数据传输和互联网连接。下面是对Wi-Fi模块的详细解释:功能:Wi-Fi模块主要用于设备之间的无线通信和连接。它可以使设备能够通过Wi-Fi网络进行数据传输、接入互联网以及与其他Wi-Fi设备进行通信。Wi-Fi模块通常配备有无线接收器和发送器,可以接收来自其他设备或无线路由器的无线信号,并发送数据到目标设备或路由器。技术标准:Wi-Fi模块遵循IEEE 802.11无线通信标准。原创 2023-06-30 20:11:24 · 56475 阅读 · 3 评论 -
ADC(模数转换)详解
在STM32微控制器中,ADC代表模数转换器(Analog-to-Digital Converter)。ADC是一种用于将模拟信号转换为数字信号的电子设备或模块。STM32微控制器中的ADC模块用于将模拟电压信号转换为数字表示,以便微控制器可以对其进行处理和分析。它可以将外部传感器、电压源或其他模拟信号的变化转换为微控制器可以理解和处理的数字形式。ADC的工作原理是将连续变化的模拟电压信号分割成离散的取样,并对每个取样进行量化,生成相应的数字表示。原创 2023-06-22 10:42:22 · 23062 阅读 · 4 评论 -
继电器模块的使用(超详细)
在一般情况下NC是闭合的,所以我们要接到NO接口,然后信号输入引脚即IN引脚给高电平,NC端断开,NO端闭合,负载端电路形成闭合回路,开始工作,当IN端给低电平时,NO端断开,负载即停止工作。开路即通路、断路,闭合指的是开关闭合,也就是说,在没有任何上电之类的动作时,NC和COM端相当于已经连通。在继电器未通电时处于闭合状态,当电磁线圈通电时,触点打开。在继电器未通电时处于打开状态,当电磁线圈通电时,触点闭合。公共端,通常是中间的触点,与常开或常闭触点相连。常闭接口,继电器吸合前与COM连接,吸合后悬空。原创 2023-12-16 17:50:49 · 77793 阅读 · 5 评论 -
STM32启动流程详解(超全,startup_stm32xx.s分析)
启动模式只决定程序烧录的位置,加载完程序之后会有一个重映射(映射到0x00000000地址位置);真正产生复位信号的时候,CPU还是从开始位置执行。值得注意的是STM32上电复位以后,代码区都是从0x00000000开始的,三种启动模式只是将各自存储空间的地址映射到0x00000000中。原创 2023-12-16 15:07:14 · 7523 阅读 · 3 评论 -
Arduino下载、安装及配置(含中文配置步骤)
Arduino IDE(Integrated Development Environment)是一款用于编写、上传和调试Arduino开发板上的程序的集成开发环境。Arduino是一种开源硬件和软件平台,旨在简化嵌入式系统的开发。Arduino IDE提供了一个友好的界面,使用户能够轻松地编写代码,将代码上传到Arduino开发板上,并进行调试。Arduino IDE包含一个简单的文本编辑器,用于编写Arduino代码。这个编辑器支持基本的代码高亮和自动缩进。原创 2023-12-16 11:56:42 · 37274 阅读 · 4 评论 -
嵌入式人工智能常用的算法(搞嵌入式和人工智能的都进来坐坐呗?)
嵌入式人工智能通常需要考虑资源受限的环境,因此选择适用于嵌入式系统的算法是至关重要的。在选择算法时,需要综合考虑模型的性能、复杂度、可解释性以及在嵌入式系统中的资源消耗等因素。同时,对于一些特定的嵌入式应用,可能需要针对性地设计和优化算法。原创 2023-12-15 23:46:57 · 3278 阅读 · 1 评论 -
嵌入式人工智能(钱多?好学?前景好?)
通过在设备上集成AI,可以实现更快速、更实时的数据分析和响应,减少对网络的依赖,提高系统的效率和性能。嵌入式人工智能需要涉及到硬件、软件、人工智能等多个方面的知识。物联网和智能设备: 随着物联网的发展,嵌入式人工智能将在智能家居、智能城市、智能工厂等领域发挥关键作用。学习嵌入式人工智能和学习嵌入式系统都涉及不同的技术领域和知识范围,因此哪一个更容易学习取决于个人的兴趣、背景和学习目标。新兴技术的发展: 随着硬件技术的不断进步,如边缘处理器、专用硬件加速器的发展,嵌入式人工智能的性能和效率将得到进一步提升。原创 2023-12-15 23:11:17 · 2904 阅读 · 0 评论 -
卷积神经网络(含案例代码)
卷积神经网络(Convolutional Neural Network,CNN)是一类专门用于处理具有网格结构数据的神经网络。它主要被设计用来识别和提取图像中的特征,但在许多其他领域也取得了成功,例如自然语言处理中的文本分类任务。CNN 的主要特点是它使用了卷积层(convolutional layer)来处理输入数据。卷积层通过卷积操作在输入数据上滑动一个或多个卷积核(也称为滤波器),从而学习局部特征。这种局部感知能力使得 CNN 能够有效地捕捉输入数据中的空间结构和模式。原创 2023-12-14 23:05:13 · 4257 阅读 · 0 评论 -
马尔科夫预测模型(超详细,案例代码)
马尔科夫预测模型是一种基于马尔科夫过程的预测方法。马尔科夫过程是一类具有马尔科夫性质的随机过程,即未来的状态只依赖于当前状态,而与过去状态无关。这种过程通常用状态空间和状态转移概率矩阵来描述。在马尔科夫预测模型中,系统被建模为处于一系列离散状态之一的马尔科夫链。每个状态表示系统可能的一个状态或情境,状态之间的转移由概率矩阵定义。这个概率矩阵描述了系统从一个状态转移到另一个状态的可能性。马尔科夫预测模型的基本思想是利用已知的状态序列来预测未来状态。原创 2023-12-14 22:29:21 · 13428 阅读 · 0 评论 -
嵌入式系统未来的发展趋势走向
定义: 人工智能是指通过计算机系统模拟、实现人类智能的能力。这包括模拟人类的感知、理解、学习、推理、问题解决和自我适应等智能行为。目标: AI的目标是创建能够执行各种智能任务的系统,这些任务在过去通常是需要人类智能的领域,如语言理解、图像识别、决策制定等。原创 2023-12-13 23:47:00 · 1695 阅读 · 0 评论 -
如何想成为嵌入式工程师?(这些东西您必须知道)
嵌入式系统领域一直在迅速发展,伴随着物联网、智能设备、汽车电子、医疗设备等应用的不断增加,对嵌入式技术的需求也在不断扩大。关于"35岁危机",这个概念源于某些技术领域在一定时期内发展迅猛,年轻人更容易吸引雇主的注意,而随着年龄的增长,有时可能会面临竞争激烈的局面。嵌入式工程师是专门从事嵌入式系统设计和开发的专业人员,他们需要具备广泛的技能和知识来处理硬件和软件交互的复杂性。考虑取得相关的嵌入式系统认证(例如软考),深入研究特定领域,如物联网、嵌入式人工智能、嵌入式安全等。了解模拟和数字电路。原创 2023-12-13 23:22:48 · 1873 阅读 · 1 评论 -
FreeRTOS的任务优先级、Tick以及状态讲解(尊敬的嵌入式工程师,不妨进来喝杯茶)
在FreeRTOS中,任务的暂停状态(Suspended State)表示任务被显式地挂起,使得该任务不再参与调度,即不会被执行。在这个案例中,任务1的优先级为1,任务2的优先级为2。在以上例子中,xTaskCreate创建了一个任务,vTaskResume恢复了一个挂起的任务,xSemaphoreTake和xTaskDelay是任务等待事件或超时的示例。在FreeRTOS中,任务的就绪状态(Ready State)表示任务已经准备好被调度执行,但由于有其他高优先级的任务正在运行,该任务暂时还未被调度。原创 2023-12-10 17:10:42 · 2799 阅读 · 0 评论 -
FreeRTOS的任务创建/删除(详解,很简单)
在FreeRTOS中,任务(Task)是系统中执行的基本单元。任务是一段具有独立执行流的代码,它可以在系统中独立运行。每个任务都有自己的栈空间和程序计数器(Program Counter),使得它能够保持自己的上下文并独立于其他任务运行。在FreeRTOS中,任务的创建和调度由内核负责。任务可以具有不同的优先级,高优先级的任务将在低优先级任务之前执行。FreeRTOS使用抢占式调度(Preemptive Scheduling),这意味着如果有更高优先级的任务准备好运行,它可以抢占当前正在运行的任务。原创 2023-12-10 16:38:11 · 1582 阅读 · 0 评论 -
FreeRTOS的内存管理方法(超详细)
xPortGetFreeHeapSize() API 函数返回未分配的堆空间总量, (允许优化 configTOTAL_HEAP_SIZE 设置), 但不提供关于未分配的内存如何被碎片化成小块的信息。如果分配成功, 它会返回指向分配的内存块中最低字节的指针。每个提供的实现都包含在单独的源文件中 (分别是 heap_1.c、 heap_2.c、heap_3.c、heap_4.c 和 heap_5.c), 位于主 RTOS 源代码下载内容的 Source/Portable/MemMang 目录下。原创 2023-12-09 22:12:38 · 5664 阅读 · 1 评论 -
FreeRTOS 中互斥锁的使用
在以上的代码片段中,xMutex 是互斥锁的句柄,xSemaphoreTake() 用于获取锁,xSemaphoreGive() 用于释放锁。在这个例子中,使用 xMutex 作为互斥锁的句柄,两个任务 Task1 和 Task2 分别尝试获取互斥锁,对共享资源进行读写,并在操作后释放互斥锁。需要注意的是,虽然互斥锁能够解决竞态条件问题,但过度使用锁可能导致性能问题,因为锁的获取和释放会引入额外的开销。在不同的编程语言和操作系统中,互斥锁的实现方式可能会有所不同,但基本的思想是一致的。原创 2023-12-09 16:52:38 · 2849 阅读 · 2 评论 -
多核处理器的体系结构特点(啥是同构、异构?常见的多核有哪些?)
例如,一个异构多核处理器可能包含高性能核心和低功耗核心,以在需要时提供更好的性能,而在轻负载时降低功耗。在同构多核架构中,所有的处理核心都是相同的,它们具有相似的架构、时钟频率和性能特征。这是一种由ARM设计的异构多核架构,其中包含高性能的"big"核心和能效更好的"little"核心。AMD的一些处理器,尤其是在移动和嵌入式领域,采用了异构多核设计,将CPU核心和GPU核心集成在同一芯片上。异构多核处理器通常包含不同类型的核心,以便在处理不同种类的任务时取得更好的平衡。AMD也生产同构多核处理器。原创 2023-12-09 15:50:36 · 5668 阅读 · 0 评论 -
DSP处理器及其体系结构特点(您都用过哪些DSP?)
数字信号处理器(Digital Signal Processor,DSP)是一种专门设计用于执行数字信号处理任务的微处理器类型。与通用微处理器(如CPU)相比,DSP处理器在处理数字信号时具有更高的性能和效率。原创 2023-12-09 15:25:21 · 3335 阅读 · 0 评论 -
指令系统详解(尊敬的嵌入式工程师,进来喝茶了)
指令系统(Instruction Set)是计算机体系结构的重要组成部分,它定义了计算机能够执行的所有指令的集合。指令系统规定了计算机的指令格式、操作码、寻址方式等重要信息,是软硬件之间的接口,决定了计算机能够执行的操作类型和粒度。指令格式(Instruction Format)指令格式定义了每条指令在存储器中的布局,包括操作码、寄存器地址、立即数等字段。常见的指令格式包括固定长度和变长两种。操作码(Opcode)操作码是指令中的一个字段,用于识别指令的类型。原创 2023-12-08 23:49:30 · 2872 阅读 · 0 评论 -
输入/输出控制详解(块、字符设备?程序控制?中断、DMA又是啥?)
I/O设备(Input/Output Device)是计算机系统中用于与外部环境进行数据输入和输出的硬件设备。这些设备允许计算机与用户、其他设备或网络进行通信。I/O设备可以分为两大类别:块设备(Block Device)和字符设备(Character Device)。输入设备: 接收来自外部环境的数据,例如键盘、鼠标、触摸屏、扫描仪等。输出设备: 将计算机系统产生的数据传递到外部环境,例如显示器、打印机、音频扬声器等。原创 2023-12-08 23:19:14 · 2023 阅读 · 0 评论 -
总线(什么是南北桥?您都用过哪些总线?)
计算机系统中的总线(Bus)是指计算机设备和设备之间传输信息的公共数据通道,是连接计算机硬件系统内多种设备的通信线路,它的一个重要特征是由总线上的所有设备共享,因此可以将计算机系统内的多种设备以总线方式进行连接。它可以连接中央处理器(CPU)、内存、输入输出设备和其他各种外部设备。总线负责在这些组件之间传递控制信号、地址信息和数据。原创 2023-12-08 21:56:29 · 2626 阅读 · 0 评论 -
算术运算(这么简单?进来坐坐?)
接着,我们将减法问题转化为加法问题,对被减数 1101 和 -1010 进行相加,得到结果 10011,即为3的补码形式。在这个例子中,符号位为0,指数位为10000000001(二进制),尾数位为1011011100000000000000000000000000000000000000000000(二进制)。此外,在计算机中,通常需要考虑位数的溢出和结果的精度问题。在这个例子中,符号位为0,指数位为10000011(二进制),尾数位为10110111000000000000000(二进制)。原创 2023-12-08 00:22:48 · 2339 阅读 · 0 评论 -
常见的校验码
在计算机领域中,校验码是一种用于检测或纠正数据传输或存储中错误的技术。校验码通常通过在数据中添加一些冗余信息来实现。其主要目的是确保数据的完整性和准确性。原创 2023-12-07 23:19:58 · 974 阅读 · 0 评论 -
您知道计算机是怎么分类的嘛
天河系列: 包括天河1号、天河2号等。冯·诺依曼结构(Von Neumann Architecture): 指的是存储程序的计算机结构,包括存储器、算术逻辑单元、控制单元等。个人计算机(Personal Computers,PC): 主要用于个人办公、娱乐和学习等,包括台式机和笔记本电脑。工作站(Workstations): 通常用于专业领域,如图形设计、科学计算等,具有更高的性能和图形处理能力。嵌入式系统(Embedded Systems): 集成在其他设备中,用于控制和监控,如家电、汽车、医疗设备等。原创 2023-12-07 23:00:18 · 1011 阅读 · 0 评论 -
嵌入式系统
嵌入式系统(Embedded System)是一种专用计算系统,通常被嵌入到更大的产品或系统中,以执行特定的功能或任务。裁剪和优化: 由于嵌入式系统的资源有限,嵌入式软件通常需要进行裁剪和优化,以适应有限的处理能力、内存和存储空间。目前国内一个普遍认同的嵌入式系统定义是:以应用为中心、以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。定制硬件: 为了满足特定的应用需求,嵌入式系统可能包含一些定制的硬件组件,例如专用的传感器接口、电源管理单元等。原创 2023-12-07 22:40:13 · 970 阅读 · 0 评论