
ARM32开发
文章平均质量分 86
ARM32
薛慕昭
知不足而奋进 望远山而前行
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ADC模数转换
模数转换(ADC,Analog-to-DigitalConversion)是电子工程和嵌入式系统中的一个重要过程。许多物理量,如温度、光强、电流和声音,都是连续变化的模拟信号,而计算机和微控制器只能处理离散的数字信号。为了使计算机能够理解这些模拟信号,我们需要使用ADC将模拟信号转化为数字信号,从而可以进行进一步的处理和分析。例如,测量温度或电流时,我们可能得到一个连续变化的模拟信号,这时候就需要使用ADC模块进行转换,使得信号变为数字数据,从而可以在计算机程序中进一步计算、显示或控制。原创 2025-01-08 08:44:55 · 500 阅读 · 0 评论 -
ARM32开发--CRC循环冗余校验
在上面的案例中,我们是将数据传输给硬件计算单元去计算,但是芯片默认只支持32位的结果输出。但是在日常开发中,我们使用16位或者8位的情况非常多,所以我们无法直接使用硬件CRC,这个时候,咱们就得使用软件CRC自己来计算。通常,我们进行数据的传输都是使用字节进行传输的,所以在以下的案例中,我们的数据都是按照1字节的方式进行计算。通过下图,我们可以看到两端所计算的结果是相同的,说明数据在通讯的过程中,数据是正确的。如果通讯的过程中,数据传错了,哪怕是错一位,最终计算出来的结果都是不一致的。原创 2024-06-20 09:28:50 · 1810 阅读 · 0 评论 -
LVGL开发教程-img图片
在嵌入式系统中,使用LVGL(Light and Versatile Graphics Library)显示静态和动态图像是一个关键的开发任务。这篇文章将详细介绍如何在LVGL中集成和显示图像,无论是静态的二维码还是动态的GIF动画。通过清晰的步骤和示例代码,读者将了解如何将图像资源有效地整合到嵌入式应用程序中,从而增强用户界面的视觉吸引力和功能性。在lvgl中显示一张图片,并不是一件容易的事情,我们首先需要将图片转成C代码,然后再对图片进行声明,最后就是显示它.原创 2024-06-19 14:39:44 · 2126 阅读 · 0 评论 -
ARM32开发-fat_fs文件系统
通常情况下,嵌入式系统会将 FAT_FS 文件系统与 SDIO 驱动程序集成在一起,形成一个完整的存储子系统。例如,我们想访问“D:/videos/code/lv_port_pc_eclipse-release-v8.3/images”下的aaa.txt文件,在代码中我们其实只需要写"D:/aaa.txt"即可。其中“D:/videos/code/lv_port_pc_eclipse-release-v8.3/images”表示windows上面的路径,我们将它映射为lvgl中的文件盘符为。原创 2024-06-19 14:37:17 · 1364 阅读 · 0 评论 -
CRC循环冗余校验
在上面的案例中,我们是将数据传输给硬件计算单元去计算,但是芯片默认只支持32位的结果输出。但是在日常开发中,我们使用16位或者8位的情况非常多,所以我们无法直接使用硬件CRC,这个时候,咱们就得使用软件CRC自己来计算。通常,我们进行数据的传输都是使用字节进行传输的,所以在以下的案例中,我们的数据都是按照1字节的方式进行计算。通过下图,我们可以看到两端所计算的结果是相同的,说明数据在通讯的过程中,数据是正确的。如果通讯的过程中,数据传错了,哪怕是错一位,最终计算出来的结果都是不一致的。原创 2025-06-04 08:42:07 · 1540 阅读 · 0 评论 -
VScode开发ARM环境搭建
分别是App,CMSIS,Firmware, 并将响应的文件导入到目录中。分别为Doc,Hardware,User,并将相应的文件导入到目录中。找到本地的.pack文件(可以用everything全局搜索下)添加的文件名称在gd32官网可以下载到。这里我们需要将用到头文件目录都包含进来。指定项目名称,并制定存放路径即可。例如:User中存放的目录。选择Keil_v5的。原创 2024-06-18 08:10:43 · 3378 阅读 · 0 评论 -
ARM32开发--FreeRTOS-事件组
在嵌入式系统开发中,任务之间的同步和通信是至关重要的。FreeRTOS作为一款开源的实时操作系统,提供了多种机制来实现任务间的有效协调。其中,事件组(Event Group)机制是一种强大的工具,允许任务等待和检测多个事件的状态,并在事件发生时进行及时的通知。通过使用事件组,开发人员可以实现复杂的任务调度和协同工作,提高系统的效率和可靠性。本文将深入探讨FreeRTOS中事件组的基本概念、功能特性以及具体的使用方法。我们将详细介绍如何创建和管理事件组,以及如何利用事件组进行任务间的同步和通信。原创 2024-06-18 08:08:12 · 1287 阅读 · 0 评论 -
ARM32开发--FreeRTOS-消息队列
基础API如下功能描述创建队列xQueueSend向队列中添加元素从队列中取出元素。原创 2024-06-17 14:46:27 · 1099 阅读 · 0 评论 -
ARM32开发--FreeRTOS-信号量
知不足而奋进 望远山而前行。原创 2024-06-17 14:44:34 · 1512 阅读 · 0 评论 -
ARM32开发--FreeRTOS-定时器
在现代计算机系统和嵌入式系统中,定时器是一种常见且重要的工具。它们用于在指定的时间间隔或延迟后执行特定的任务或操作,对于任务调度、超时处理和事件触发等应用场景都有广泛的应用。本次学习将聚焦于FreeRTOS中定时器的使用,包括定时器的创建、启动、停止和删除等操作。通过深入学习和理解这些操作,我们将掌握如何利用FreeRTOS提供的软件定时器功能来实现精确和可靠的时间触发机制。本次学习中,我们深入探讨了FreeRTOS中软件定时器的基本概念和操作流程。原创 2024-06-17 14:41:25 · 1012 阅读 · 0 评论 -
ARM32开发--FreeRTOS-任务相关机制介绍
在嵌入式系统开发中,理解任务调度机制、临界区概念以及内存管理算法的运作原理至关重要。这些概念不仅是构建高效、可靠系统的基础,也直接影响到系统的实时性、资源利用率和响应能力。本文将深入探讨这些关键技术,并探索它们在实际应用中的运用和优化策略。任务调度机制是实现多任务协作的核心,它通过任务优先级和抢占式调度策略确保系统对高优先级任务的及时响应。通过任务控制块(TCB)管理任务状态和上下文切换,任务可以有效地共享处理器资源,同时保持系统的实时性和稳定性。原创 2024-06-17 08:40:39 · 867 阅读 · 0 评论 -
ARM32开发--FreeRTOS-任务管理
在嵌入式系统开发中,任务管理是保证系统高效运行的关键之一。FreeRTOS作为一款流行的实时操作系统,提供了丰富的任务管理功能,包括动态和静态任务创建、任务删除、任务挂起与恢复等操作。本文将深入探讨这些任务管理机制及其应用,帮助开发者理解和掌握如何通过FreeRTOS实现灵活的任务管理和调度,以满足不同嵌入式应用的需求。任务管理是实时操作系统中的核心概念之一,合理的任务管理可以有效提升系统的响应速度和资源利用率。原创 2024-06-17 08:35:21 · 1222 阅读 · 0 评论 -
ARM32开发--GD32移植FreeRTOS
来到FreeRTOS源码目录中,找到。也是目前的最新版本。实现多任务串口打印功能。文件拷贝到项目目录中的。原创 2024-06-17 08:29:38 · 1539 阅读 · 0 评论 -
HAL库开发--定时器的配置方式和占空比输出
定时器(Timer)在嵌入式系统中是一种重要的硬件资源,常用于生成精确的时间延迟、周期性触发事件或产生PWM信号等应用。本文将重点介绍在STM32微控制器上配置定时器以及实现定时器的占空比输出功能。我们将以实际例子为基础,演示如何通过定时器3的CH3通道实现LED呼吸灯效果,同时讨论配置定时器时需要考虑的周期、分频等关键参数。本文详细介绍了在STM32微控制器上配置和使用定时器的方法,特别是利用定时器3的CH3通道实现了呼吸灯效果。原创 2025-06-07 08:27:10 · 906 阅读 · 0 评论 -
HAL库开发--SPI的配置方式和读写操作
SPI(Serial Peripheral Interface)是一种常见的串行通信协议,在嵌入式系统中被广泛应用于外设间的高速数据传输。本文将介绍如何在STM32开发板上配置和操作SPI接口,特别是在全双工模式下使用,以实现稳定和高效的数据交换。我们还将探讨如何集成OLED显示屏驱动,通过SPI接口实现数据传输和控制,从而在嵌入式应用中实现图形和文本的显示功能。本文详细介绍了在STM32微控制器上配置和使用SPI接口的方法,以及与OLED显示屏驱动的集成。原创 2025-06-07 08:27:37 · 565 阅读 · 0 评论 -
HAL库开发--串口
在嵌入式系统开发中,掌握串口通信是至关重要的一环。串口通信作为微控制器与外部设备或其他微控制器之间的主要通信方式,在各种嵌入式应用中起着重要作用。本文将介绍如何通过STM32CubeMX配置串口功能,并掌握串口发送、接收以及使用DMA进行数据传输的方法。同时,我们还将讨论如何配置printf函数,使其能够在串口上输出调试信息,以及如何处理串口接收中断。通过学习这些内容,读者将能够在嵌入式系统开发中更加灵活地应用串口通信功能。原创 2024-06-15 17:08:27 · 2630 阅读 · 0 评论 -
HAL库开发--第一盏灯
在嵌入式系统开发中,掌握HAL库开发流程、STMCubeMX配置过程以及API的查询和使用方式是非常重要的学习目标。HAL库(Hardware Abstraction Layer)提供了对底层硬件的抽象,使开发者能够更加便捷地访问和控制微控制器的功能。而STMCubeMX作为一款优秀的配置工具,可以帮助开发者快速进行芯片配置和初始化代码生成,加速开发过程。同时,熟练地查询和使用API则能够帮助开发者更加灵活地编写代码,实现各种功能需求。原创 2024-06-15 17:05:36 · 1251 阅读 · 0 评论 -
ARM32开发--下载&仿真&调试
在嵌入式系统开发的世界里,仿真器和调试器是两个不可或缺的工具,它们帮助开发者跨越从代码编写到硬件运行的鸿沟。特别是在ARM架构的微处理器或微控制器上进行开发时,仿真器和调试器的使用尤为重要。仿真器提供了一个模拟的环境,允许开发者在没有实际硬件的情况下测试和调试代码。而调试器则提供了一种连接到实际硬件的方式,使开发者能够实时地观察和操控运行中的程序。本文将详细介绍ARM仿真器和调试器的基本概念、特点以及它们在嵌入式系统开发中的应用。原创 2024-06-15 16:55:59 · 1984 阅读 · 0 评论 -
ARM32开发--电源管理单元
在嵌入式系统中,有效的电池管理和低功耗模式对于延长设备电池寿命至关重要。电池管理单元(PMU)及其相关的电源域和省电模式是实现这一目标的关键组成部分。本文将深入探讨PMU的功能、ARM32中的电源域结构,以及几种常见的省电模式。此外,我们还将了解如何通过在不同省电模式之间切换来优化系统功耗,同时保持系统的响应能力和功能完整性。在ARM架构中,WFI(Wait For Interrupt)和 WFE(Wait For Event)是用于使处理器进入低功耗状态的指令。原创 2024-06-15 16:52:56 · 2027 阅读 · 6 评论 -
ARM32开发--SPI Flash
在嵌入式系统开发中,对于存储器的选择和驱动的开发至关重要。W25Q128作为一种常见的串行闪存器件,通过SPI接口提供高速的数据读写和擦除功能,广泛应用于嵌入式设备、存储设备以及网络设备中。本文将介绍如何进行W25Q128的移植与驱动开发学习,帮助开发者更好地理解和应用这一关键的存储器组件。W25Q128是一种常见的串行闪存器件,它采用SPI(Serial Peripheral Interface)接口协议,具有高速读写和擦除功能,可用于存储和读取数据。原创 2024-06-14 08:18:36 · 1157 阅读 · 0 评论 -
ARM32开发--存储器介绍
在现代计算机系统中,存储器扮演着至关重要的角色,不仅影响着数据的存取速度和稳定性,还直接关系到计算机系统的性能和应用场景的选择。存储器根据数据持久性可以分为易失性和非易失性两大类,每种类型都具备各自独特的特性和优势,为计算机科技的发展提供了多样化的解决方案。存储器的分类基于其在断电后数据是否丢失来划分为易失性存储器和非易失性存储器。易失性存储器如RAM,虽然读写速度快,但断电即丢失,适合作为临时数据存储。原创 2024-06-14 08:15:35 · 1098 阅读 · 0 评论 -
ARM32开发--IIC硬实现
在嵌入式系统中,使用硬件I2C通信协议实现设备之间的数据交换是一项常见任务。本文将介绍如何在GD32F4系列芯片上实现硬件I2C通信,并提供了初始化、写操作流程、读操作流程等详细代码示例和说明,以帮助开发者快速上手。硬件I2C-GD32F4系列的实现通过本文介绍的GD32F4系列硬件I2C通信实现方法,我们可以轻松地初始化I2C配置,进行写操作和读操作。首先,在初始化阶段,我们配置了GPIO引脚和I2C控制器的相关参数,确保硬件能够正常工作。原创 2025-06-09 08:42:30 · 809 阅读 · 0 评论 -
ARM32开发--IIC原理
在现代消费电子和工业电子领域,各种类型的芯片如微控制器、传感器和存储器等,需要快速且可靠地进行数据交互。为了满足这一需求,I2C(Inter-Integrated Circuit)协议应运而生。I2C协议由飞利浦(现恩智浦半导体)公司开发,它利用两根线(时钟线和数据线)在多个设备之间传输数据,并且支持设备间的地址识别,从而实现设备间的互联互通。本文将深入探讨I2C通讯的原理、信号传输过程以及软件和硬件实现方法。首先,我们将详细介绍I2C通讯的基本规则和流程,包括数据传输的开始、停止和等待响应的过程。原创 2024-06-13 08:48:00 · 1604 阅读 · 2 评论 -
ARM32开发--RTC内置实时时钟
在嵌入式系统开发中,实时时钟(RTC)是至关重要的组件,它提供了准确的日期和时间信息,为各种应用场景提供了时间基准。本文将深入探讨RTC的设计原理和初始化过程,帮助您理解RTC在GD32F407上的实现方式以及如何进行初始化、配置和读取时间等操作。RTC是实时时钟(Real-Time Clock)的缩写。它是一种硬件模块或芯片,用于提供准确的日期和时间信息。GD32F407上有RTC的外设,它提供了一个包含日期(年/月/日)和时间(时/分/秒/亚秒)的日历功能。原创 2024-06-12 15:53:52 · 2130 阅读 · 1 评论 -
ARM32开发--DMA内存到内存
理解DMA数据传输过程掌握DMA的初始化流程理解源和目标的配置理解数据传输特点能够动态配置源数据能够实现DMA中断哪个dma:DMA0或者DMA1dma的哪个通道:ch0到ch7传输方向是什么:内存到内存,内存到外设,外设到内存源地址是多少?源的数据长度是多少(几个)?源的数据宽度是多少(几个bit,8/16/32)?目标地址是什么?从源地址向目标地址传输数据时,源地址的指针是否需要增长。从源地址向目标地址传输数据时,目标地址的指针是否需要增长。原创 2025-06-10 09:23:33 · 752 阅读 · 0 评论 -
ARM32开发--DMA
CPU(Central Processing Unit,中央处理单元)是计算机系统中的核心部件,也被称为处理器。它是计算机的大脑,负责执行指令、处理数据以及控制计算机的各种操作。CPU通常由多个核心组成,每个核心可以独立执行指令,从而提高计算机的处理能力。CPU执行过程中,通过总线,到SRAM中取数据CPU将取的数据,按照逻辑处理顺序进行执行逻辑中用到了外设部分,CPU会将对应的数据通过总线传递给外设这里的每一份数据都是这么个操作流程。DMA三种传输方式● 存储器到外设;● 外设到存储器;原创 2024-06-12 08:14:50 · 1404 阅读 · 0 评论 -
ARM32开发--PWM通道输出
加强掌握PWM开发流程理解定时器与通道的关系掌握多通道配置策略掌握定时器查询方式掌握代码抽取优化策略高级定时器只有TIMER0和TIMER7支持。由于扩展板上的高级定时器没有对应的LED,我们可以使用跳线的方式,将TIMER0CH0对应的PE8引脚,短接到PD8(LED1)上,通过观察LED1的亮灭,了解是否正确输出。原创 2024-06-11 20:30:45 · 1063 阅读 · 0 评论 -
ARM32开发--PWM与通用定时器
在微控制器开发中,理解和掌握PWM(脉宽调制)技术以及与定时器的关系是至关重要的。PWM技术可以广泛应用于工业自动化、电机控制、LED调光等领域,通过改变信号的脉冲宽度来控制电路输出。本文将介绍PWM原理、开发流程,以及如何通过定时器实现PWM功能。通过学习本文,您将掌握通用定时器开发流程,理解周期、分频系数、周期计数、分频计数等概念,以及掌握分频计数、周期计数和占空比的计算策略。本文详细介绍了PWM技术以及与定时器的关系,通过示例代码演示了在ARM32系列芯片中如何实现PWM功能。原创 2024-06-11 20:24:39 · 1187 阅读 · 0 评论 -
ARM32开发--基本定时器
本文将介绍关于基本定时器的作用、开发流程以及中断处理的操作流程。通过学习以下内容,你将能够掌握定时器的初始化方法、AHB和APB时钟查询方式、周期、分频系数、周期计数和分频计数的概念。此外,我们也将介绍调试策略,帮助你更好地理解定时器的开发和应用。让我们一起深入学习基本定时器的知识,提升自己的嵌入式系统开发能力。通过本文的学习,我们深入了解了基本定时器的作用和开发流程,掌握了定时器中断处理的操作流程。我们学习了如何添加定时器依赖、初始化定时器并实现定时器中断逻辑。原创 2025-06-10 09:23:55 · 636 阅读 · 0 评论 -
ARM32开发--定时器介绍
在嵌入式系统开发中,定时器作为一种重要的外设,在实现定时、计数、PWM输出等功能方面扮演着至关重要的角色。通过定时器,我们可以实现对系统中各种时间相关任务的精准控制和调度,为系统的稳定性和高效性提供支持。深入理解定时器的基本原理以及具体功能,对于嵌入式系统的设计和开发具有重要的意义。定时器是嵌入式系统中常用的一种外设,它可以产生一定的时间间隔、延时、定时等功能,广泛应用于定时、计数、脉冲宽度调制(PWM)等领域。原创 2025-06-12 08:40:40 · 576 阅读 · 0 评论 -
ARM32开发--中断优先级Priority
在嵌入式系统开发中,对中断控制和优先级管理是至关重要的。通过学习NVIC中断控制器、优先级概念以及优先级分组概念,我们可以更好地理解和掌握嵌入式设备中的中断处理机制。本次学习将重点关注中断的优先级设置与管理,通过实际案例测试不同配置下的中断执行顺序,以加深对中断优先级调度的理解。通过本次学习和案例测试,我们深入了解了NVIC中断控制器、抢占优先级、响应优先级以及优先级分组的概念和作用。在实际应用中,合理设置中断优先级可以确保系统对中断的响应和处理有序进行,提高系统的稳定性和性能。原创 2024-06-11 14:39:03 · 1827 阅读 · 0 评论 -
ARM32开发--外部中断EXTI
在许多嵌入式系统中,包括STM32和GD32等,EXTI模块通常由多个输入线、边沿检测电路、触发选择寄存器、软件中断事件寄存器、请求挂起寄存器、中断屏蔽寄存器、事件屏蔽寄存器等部分组成,可以实现对外部中断和事件的高效检测和处理。tick++;再将这个tick时间对外,外面使用者就可以获得时间计数了硬件触发软件触发硬件触发机制主要是针对外部触发了芯片的引脚,造成引脚的电平发生变化,从而导致中断产生。原创 2024-06-11 08:12:24 · 1415 阅读 · 0 评论 -
ARM32开发--串口库封装(初级)
在嵌入式软件开发中,封装抽取流程和抽取封装策略是非常重要的技术,能够提高代码的复用性和可维护性。本文将介绍如何在文件系统中创建库目录,并通过keil工程中创建分组管理库的方式,实现串口功能的封装和抽取。通过具体的步骤和代码示例,帮助读者掌握封装抽取流程和策略。初始化及发送功能定义// 发送1个byte数据// 发送多个byte数据// 发送字符串 (结尾标记\0)接收回调定义// 功能开关配置// 收到串口0数据,回调函数#endif...#endif...通过宏定义做开关。原创 2024-06-11 08:07:56 · 842 阅读 · 0 评论 -
ARM32开发--串口通讯--USART通信原理
通信在现代社会中扮演着至关重要的角色,不论是在个人生活中的手机通话、电子邮件的发送,还是在工业自动化领域的数据传输等,都离不开通信技术的支持。串行通信和并行通信作为数据传输的两种基本方式,在实际应用中各有优劣,而常见的串行通信接口、同步通信和异步通信、单工和双工、波特率和比特率等概念也是我们在通信领域中需要了解的重要知识点。通过本文的介绍,我们对串行通信和并行通信有了更深入的了解。串行通信通过逐位传输数据来实现信息的传输,适用于短距离、低速率的数据传输;原创 2024-06-07 14:33:11 · 1193 阅读 · 0 评论 -
ARM32开发--GPIO--LED驱动开发
前言:在这个快节奏的开发环境中,面对紧迫的项目截止日期和有限的资源,我们作为软件工程师需要具备快速解决问题的能力。本项目要求我们设计一个基于STM32的BSP驱动,以实现一个智能充电状态显示系统,该系统通过四个LED灯来展示充电状态和电量百分比。尽管在产品最终的电路板还未完成的情况下,我们只有开发板可以使用,但我们仍然面临着快速完成这个任务的压力。在这个过程中,我们将采用模块化的方法来编写代码,以确保其可读性和可维护性。我们将定义一系列接口,以便其他开发者在将来可以轻松地与我们的驱动代码集成。原创 2024-06-07 08:51:41 · 1232 阅读 · 0 评论 -
ARM32开发--GPIO总线与时钟
在现代计算机系统中,总线框图是一个至关重要的概念,它帮助我们理解不同硬件组件之间的连接和通信方式。AHB总线和APB总线作为计算机系统中常见的总线架构,扮演着连接处理器、内存和外设等组件的重要角色。同时,时钟树的设计和外部晶振的倍频操作也是确保整个系统正常运行的关键步骤。本文将深入探讨这些概念,帮助读者更好地理解计算机系统中的总线结构和时钟设计。总线框图中的AHB总线和APB总线扮演着连接计算机系统中不同硬件组件的角色,类似于为各个家庭成员提供交通工具的功能,确保信息和数据能够高效传输。原创 2024-06-07 08:42:49 · 1010 阅读 · 0 评论 -
ARM32开发--GPIO输入详解
本文主要介绍了按键点灯的两种实现方法,涉及了 GPIO 的上拉下拉输入、外部上拉下拉以及输入状态的获取。通过两个示例,演示了按键按下时点亮 LED,抬起时熄灭 LED 的实现逻辑和开发流程。同时也介绍了按键输入的接线方式以及消除按键抖动的方法,为初学者提供了一些参考和指导。理解 GPIO 的上拉和下拉输入,以及外部上拉下拉的配置方法。了解按键输入状态的获取,实现按键按下时点亮 LED,抬起时熄灭 LED 的逻辑。学会 GPIO 的初始化配置,处理按键输入的状态变化,以实现按键点灯功能。原创 2025-06-12 08:41:03 · 541 阅读 · 0 评论 -
GD32/STM32系列GPIO工作模式
在嵌入式系统开发中,对于GPIO(通用输入输出端口)的配置和使用是至关重要的。不同的GPIO配置方式可以实现不同的功能,包括输入(浮空、上拉、下拉、模拟输入)和输出(推挽、开漏、复用推挽输出、复用开漏输出)等。正确的GPIO配置可以确保信号的稳定传输和处理,使系统能够正常工作并与外部设备进行有效通信。通过对GPIO的不同配置方式进行了解和掌握,可以更好地满足系统对输入输出信号的需求。在配置GPIO输入时,可以选择浮空输入、上拉输入、下拉输入或模拟输入,以适应不同的接口要求和外部信号条件。原创 2024-06-06 10:37:34 · 1511 阅读 · 0 评论 -
ARM32开发--GPIO输入模式
在数字电路设计和嵌入式系统开发中,理解输入信号的处理方式对确保系统稳定性和可靠性至关重要。不同的输入处理方式包括上拉输入、下拉输入、浮空输入和模拟输入,它们在不同场景下具有各自的应用特点和作用。而TTL施密特触发器则是常用于去除噪声和提供稳定输出信号的重要元件。通过适当选择和配置输入方式,可以有效地管理输入信号的稳定性和准确性,使系统在各种情况下都能正常工作。上图为GPIO输入的基本示意图,其中包含了上拉电路,下拉电路,模拟信号处理,数字逻辑信号接收。原创 2024-06-06 10:33:45 · 1544 阅读 · 0 评论 -
GD32单片机开发--GD32F4标准外设库
了解标准库来源熟悉模板搭建流程掌握在已有模板基础下进行开发打开下载的 GD32F4xx 标准固件库,里面的目录如图Examples:此文件夹包含的是官方编写的示例代码,涉及芯片的大部分功能。Firmware:此文件夹里面有 3 个文件夹,包含 CMSIS,标准外设库和 USB 库,存放官方封装的一些库函数,方便用户开发使用。Template:此文件夹是工程模板文件夹,里面包含 IAR 和 Keil 的工程示例。原创 2025-06-06 09:44:08 · 1027 阅读 · 0 评论