自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 LVGL开发——(三)objects对象

在LVGL中,用户界面的基本构建块是对象,也称为Widgets。层创建各种控件(widgets),也就是objects对象。鼠标光标可以放在所有层的上面以确保它始终可见,也就是放在。参数3:设置obj的状态或part,这里默认写0即可。类型的变量,它可以保存边框宽度、文本颜色等属性。层用来创建一些随处可见的内容。创建objects对象并显示在。参数1:objects对象。参数2和参数3:坐标x和y。参数1:objects对象。参数1:objects对象。参数1:objects对象。参数3:在x方向的偏移。

2024-09-02 20:33:54 808

原创 LVGL开发——(二)LVGL模拟器

使用MinGW,开发者可以编写和编译与Windows API无关的本地应用程序,这对于跨平台开发和移植代码至Windows平台是非常有用的。MinGW的目标是提供一个轻量级、最小化的GNU工具集,使开发者能够在Windows环境下使用类Unix的工具和编程环境。如果有多个版本的MinGW环境,可以将系统变量Path路径里新版本的MinGW的bin路径放最上边,以保证gcc用的是最新版本。把项目放到不包含中文和空格的目录,删除build文件夹,再进行编译生成。如果GCC配置部分为空,点击GCC方面进行配置。

2024-09-01 21:08:38 1402

原创 LVGL开发——(一)LVGL简介

LVGL(Light and Versatile Graphics Library)是一个开源的图形用户界面库,旨在提供轻量级、可移植、灵活和易于使用的图形用户界面解决方案。它适用于嵌入式系统,可以在不同的操作系统、微控制器和图形加速器上运行。LVGL的核心代码是用C语言编写的,支持多种显示设备和输入设备,包括液晶显示屏、OLED显示屏、触摸屏、按键和编码器等。LVGL提供了一系列组件和小部件,例如文本框、按钮、滑动条、表格、菜单等,可以快速构建交互式用户界面。

2024-09-01 20:56:57 1109

原创 ARM32开发——(二十四)电源管理单元

在ARM架构中,WFI(Wait For Interrupt)和 WFE(Wait For Event)是用于使处理器进入低功耗状态的指令。这两个指令主要用于在空闲时暂停处理器的执行,以节省功耗。2.4.1 WFI指令WFI 指令使处理器进入等待中断状态。当处理器执行到 WFI 时,它会进入低功耗模式,直到有一个中断请求到达,将处理器唤醒。在等待中断期间,处理器会停止执行指令,以减少功耗。2.4.2 WFE指令WFE 指令与 WFI 类似,但它不仅能够等待中断,还能够等待事件。

2024-08-31 06:16:55 3051

原创 ARM32开发——(二十三)存储器介绍

现在的ROM包括闪存就是U盘,包括固态硬盘等,都是可写入的。ROM已经不是只读的了。FLASH存储器又称闪存,它结合了ROM和RAM的长处,不仅具备电子可擦除可编程(这是EEPROM的优点)的性能,还不会断电丢失数据(这是EEPROM的优点),同时可以快速读取数据(这是RAM的优点)。随机存取存储器,缩写:RAM,也叫主存,是与CPU直接交换数据的内部存储器。在计算机中易失性存储器最典型的代表是内存,非易失性存储器的代表则是硬盘。“易失/非易失”是指存储器断电后, 它存储的数据内容是否会丢失的特性。

2024-08-31 06:09:22 2134

原创 ARM32开发——(二十二)SPI原理

0:SCK默认低电平1:SCK默认高电平0:先采样后修改(读IO电平数据)1:先修改后采样(写IO电平)模式CKPLCKPH空闲状态电平读数据边沿000低上升沿101低下降沿210高下降沿311高上升沿。

2024-08-30 06:21:11 1590

原创 ARM32开发——(二十一)ADC系统工作原理

ADC有一个内置自校准模式,可以大幅减少因内部电容组的变化而造成的精准度误差。校准需要ADC使能之后延迟14个CK_ADC以等待ADC稳定。总转换时间=采样时间+12 个 CK_ADC 周期。

2024-08-30 06:09:06 802

原创 ARM32开发——(二十)ADC

数字信号是由离散的数字值构成的信号,这些数字值代表了某种物理量在一定时间间隔内的采样值。自然界中的物理量都需要通过传感器将其转换成电信号后,才能进行进一步的分析,传感器在模拟物理量的变化,模拟信号是对原始物理量连续变化的近似表示。量化间隔越小,量化之后的波形分辨率越高,输入信号和输出信号越相似,系统精度越高;量化间隔越小,分辨率越高。采样指的是ADC将模拟信号的振幅值在一定时间间隔内进行测量,并将测量结果转换为数字值。采样之后得到的信号通常被称为抽样信号,因为在时间轴上它是离散的,但在幅值轴上是连续的。

2024-08-29 08:28:00 940

原创 ARM32开发——(十九)I2C原理

在消费电子、工业电子等领域,会使用各种类型的芯片,如微控制器、电源管理、显示驱动、传感器、存储器、转换器等,它们有着不同的功能。是由飞利浦(现在的恩智浦半导体)公司开发的一种通用的总线协议。它使用两根线(时钟线和数据线)来传输数据,支持多个设备共享同一条总线。I2C总线包括两根信号线:SDA(串行数据线)和SCL(串行时钟线)。在I2C总线上,每个设备都有一个唯一的地址,用于标识设备。表示等待响应,每发送一个数据,需要确认对方是否收到,就需要等待对方响应。SCL线是时钟线,用于控制数据传输的速度和时序;

2024-08-29 08:02:19 955

原创 ARM32开发——(十八)RTC实时时表

RTC是实时时钟(Real-Time Clock)的缩写。它是一种硬件模块或芯片,用于提供准确的日期和时间信息。GD32F407上有RTC的外设,它提供了一个包含日期(年/月/日)和时间(时/分/秒/亚秒)的日历功能。除亚秒用二进制码显示外,时间和日期都以BCD码的形式显示。RTC本质上就是一个1秒计数器,通过秒来换算出时间。因此需要我们提供一个1HZ频率的时钟。

2024-08-28 06:33:33 1034

原创 ARM32开发——(十七)DMA外设到内存

每传输一个字节数据,地址是否需要增长。这里包含了源地址是否需要增长,也包含了目标地址是否需要增长。源地址和目标地址都是提前配置好的,当传输时,就会从源地址将数据传递给目标地址。实现串口的数据接收,要求采用dma的方式。数据宽度表示一次传递多上个bit。

2024-08-28 06:33:19 569

原创 ARM32开发——(十六)DMA内存到外设

每传输一个字节数据,地址是否需要增长。这里包含了源地址是否需要增长,也包含了目标地址是否需要增长。源地址和目标地址都是提前配置好的,当传输时,就会从源地址将数据传递给目标地址。实现串口的发送数据, 要求采用dma的方式。串口中,寄存器地址不变,大小不变,数据宽度表示一次传递多上个bit。传输了多少个数据宽度的数据。

2024-08-27 06:05:25 666

原创 ARM32开发——(十五)DMA内存到内存

将src这个数组的值,赋值到dst这个数组中,不可以采取直接赋值的方式,需要通过DMA将数据进行传递。每传输一个字节数据,地址是否需要增长。这里包含了源地址是否需要增长,也包含了目标地址是否需要增长。这里主要指的是在配置DMA的源和目标的时候,我们无法给出一个具体的源地址和源的数据长度。源地址和目标地址都是提前配置好的,当传输时,就会从源地址将数据传递给目标地址。通常,dma数据传输完成,我们也是可以知道的。可以通过中断的方式获取。初始化时,不再初始化源地址和要传输的长度。传输了多少个数据宽度的数据。

2024-08-27 06:04:44 662

原创 ARM32开发——(十四)GD32F4_DMA功能查询

GD32F4系列微控制器支持DMA(Direct Memory Access)功能,该功能允许外设通过DMA控制器直接访问内存,从而减轻CPU的负担。通过使用DMA功能,可以大大提高系统的效率,特别是在需要大量数据传输的应用中。

2024-08-26 08:50:44 508

原创 ARM32开发——(十三)DMA

CPU执行过程中,通过总线,到SRAM中取数据CPU将取的数据,按照逻辑处理顺序进行执行逻辑中用到了外设部分,CPU会将对应的数据通过总线传递给外设这里的每一份数据都是这么个操作流程。

2024-08-26 08:47:18 1415

原创 ARM32开发——(十二)定时器

定时器是嵌入式系统中常用的一种外设,它可以产生一定的时间间隔、延时、定时等功能,广泛应用于定时、计数、脉冲宽度调制(PWM)等领域。计时:定时器可以用来实现延时操作,例如等待外部设备的稳定、等待数据的接收等,也可以用来定时执行一些任务,例如周期性任务、定时采集数据等。计数:定时器可以用来实现计数功能,例如计数外部事件的次数、计算脉冲信号的频率等。PWM输出:定时器可以用来产生PWM信号,通过调节占空比可以实现各种功能,例如LED调光、舵机控制等。

2024-08-25 08:53:37 599

原创 ARM32开发——(十一)GD32F4_定时器查询

GD32F4定时器包含多个计数器,每个计数器都有自己的计数寄存器和控制寄存器。通过配置寄存器的参数,可以实现不同的定时功能。GD32F4定时器支持多种工作模式,包括定时器模式、计数器模式和PWM模式等。GD32F4定时器的使用需要通过配置寄存器来设置相应的参数,包括计数模式、计数方向、预分频系数等。然后通过读取计数器的值来获取当前的计数值。GD32F4定时器还具有定时中断功能,可以在特定的时间点触发中断,用于实现定时任务。

2024-08-25 08:38:28 677

原创 ARM32开发——(十)外部中断EXTI

在许多嵌入式系统中,包括STM32和GD32等,EXTI模块通常由多个输入线、边沿检测电路、触发选择寄存器、软件中断事件寄存器、请求挂起寄存器、中断屏蔽寄存器、事件屏蔽寄存器等部分组成,可以实现对外部中断和事件的高效检测和处理。硬件触发外部中断,简单的理解就是,如果我配置了某个引脚外部中断功能,那么当这个引脚的电平发生变化时,就会触发中断机制,代码层级就会调用到我的中断函数。软件触发机制,主要针对的是业务逻辑中,需要手动的触发中断事件,去执行中断逻辑而去设计的。他不需要对引脚做任何处理,也可以触发。

2024-08-24 07:44:06 1124

原创 ARM32开发——(九)中断优先级Priority

NVIC可以自动地响应中断,并管理中断优先级、中断处理程序等,从而实现多个中断的快速、有序、有效地响应。优先级的界定: 无论是抢占优先级还是响应优先级,都是用数值表示的,数值越小,优先级越高。在ARM中,为了表示抢占优先级和响应优先级,仅用了4个Bit表示了优先级的等级。正在执行的较低抢占优先级的中断。中断优先级分为抢占优先级,响应优先级和自然优先级。响应优先级相同,抢占优先级不同,测试不同的结果。响应优先级相同,抢占优先级不同,测试不同的结果。响应优先级相同,抢占优先级不同,测试不同的结果。

2024-08-24 07:10:17 2787

原创 ARM32开发——(八)中断

与外部中断不同的是,内部中断不需要外部设备的触发,而是由硬件设备自身产生中断请求,由中断控制器检测到并触发相应的中断服务程序进行处理。中断是计算机系统中的一种机制,用于响应外部事件或内部事件,它可以使单片机暂时中断正在执行的程序,转而去执行一个中断处理函数,待中断处理函数执行完毕后,再回到原来的程序继续执行。通常情况下,外部中断是通过中断输入引脚连接到中断控制器,由中断控制器检测到外部中断请求,然后触发相应的中断服务程序进行处理。中断具有优先级,高优先级的中断可以打断正在执行的低优先级中断。

2024-08-23 07:20:19 1215

原创 ARM32开发——(七)GD32F4串口引脚_复用功能_查询

PA8PA11PA3,PD6PA4,PD7PA0,PD3PB13,PD11PC8,PG7PG13,PG15PF6,PE7PE1PE0。

2024-08-21 20:42:01 691

原创 ARM32开发——(六)GPIO_USART通信原理

Universal Asynchronous Receiver Transmitter 即通用异步收发器,是一种通用的串行、异步通信总线 该总线有两条数据线,可以实现全双工的发送和接收 在嵌入式系统中常用于主机与辅助设备之间的通信(同步通信和异步通信的最大区别在于传输数据时是否需要时钟信号同步)。并行通信是指在计算机系统中同时进行多个任务或操作的一种通信方式,可以提高计算机系统的性能和效率,加快任务的执行速度,常应用于多种场景,如多线程编程、分布式计算和高性能计算等。在单工通信中,信息只能在一方向上传输。

2024-08-21 15:53:26 1276

原创 ARM32开发——(五)GPIO_GD32F4

【代码】ARM32开发——(五)GPIO_GD32F4。

2024-08-20 07:10:21 341

原创 ARM32开发——(四)GPIO_总线与时钟

一条大街上,有很多房子,每家房子每天都有一些自己的操作,有的房子每天都要点外卖,有的房子每天都要做奶茶,有的房子每天都要做汉堡....由于受到环境限制,每个房子里面的人不可以走出房子,但是他们需要向外卖东西或者买入一些东西。但是,有一个大巴士,他可以帮助这些房子运送自己要买入的东西和要卖出的东西,帮助这些房子进行物品的交换。大巴士有一些特点,准时发车,24小时不间断;谁家的房子亮灯了,并且有人给他招手了,大巴士就停下来给他运东西。每个房子也都有些特点,家里有个灯,还有个招手员。

2024-08-20 06:54:55 1114

原创 ARM32开发——(三)GPIO_概念(2)

它的作用在于消除输入信号的不稳定性,确保在输入信号发生变化时,输出信号能够产生可靠的、干净的转换。模拟输入的是物理世界中的真实电压,模拟信号的处理不同与逻辑电路的转换,逻辑转换只有两种值。模拟信号则是线性的值,电压多大,就转换一个数字值,也就是将物理世界中的模拟数据转换为数字值,这个值是线性,有范围的。上图为GPIO输入的基本示意图,其中包含了上拉电路,下拉电路,模拟信号处理,数字逻辑信号接收。然后接收外部电路的输入信号。这里会存在一个问题,如果外部没有输入信号,那么这个逻辑信号是未知的,不确定的。

2024-08-20 06:37:02 1046

原创 ARM32开发——(二)GPIO_概念(1)

GPIO,全称为“通用输入/输出”(General Purpose Input/Output),是计算机系统中用于与外部世界进行数字通信的一种接口标准。例如IIC协议中SDA和SCL就会同时配置OD开漏模式,并添加上拉电阻,此时就会产生线与。MOS管有NMOS和PMOS两种类型,包含了栅极、漏极、源极三个极,其作用就是开关(通过栅极控制漏极和源极的导通)。这里存在一个问题,开漏输出时,如果给高电平,外接的灯是不会亮的,因此开漏状态下我们需要进行上拉。推挽过程中,如果一方输出高,一方输出低,则会烧芯片。

2024-08-19 19:39:27 1153 1

原创 ARM32开发——(一)GPIO_门电路

在现代电子学和计算机科学中,逻辑门电路是至关重要的基础组成部分。 而逻辑门电路最基本的形式就是7种逻辑门,它们分别是非门、与门、或门、与非门、或非门、异或门、异或非门(同或门)。

2024-08-19 16:41:52 608

空空如也

空空如也

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

TA关注的人

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