Gxyun..
码龄5年
求更新 关注
提问 私信
  • 博客:35,069
    社区:2
    35,071
    总访问量
  • 27
    原创
  • 371
    粉丝
  • 0
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:湖北省
加入CSDN时间: 2021-05-24

个人简介:重要的不是代码本身,而是代码背后的逻辑。

博客简介:

m0_58558941的博客

查看详细资料
个人成就
  • 获得545次点赞
  • 内容获得1次评论
  • 获得340次收藏
  • 博客总排名1,667,781名
创作历程
  • 27篇
    2024年
成就勋章
TA的专栏
  • LVGL开发
    3篇
  • ARM32开发
    24篇

TA关注的专栏 0

TA关注的收藏夹 0

TA关注的社区 0

TA参与的活动 0

创作活动更多

编程达人挑战赛·第12期

作为写代码的你,是否也渴望被更多人看到?技术人员普遍有一个共性——明明技术很强,却没人知道你做了什么;花了很多时间踩坑,却没人因你少走弯路;脑子里有一堆干货,但却不懂如何有效地输出。 在如今写代码的人越来越多的时代,能够清晰表达自己思路与技术的人却少之又少。 因此,我们发起了这个【编程达人挑战赛】——帮助你将代码变成作品,将技术转化为真正的价值,同时激励更多的人坚持写作与分享。 注:活动细则介绍请看此贴:[https://bbs.csdn.net/topics/619791811](https://bbs.csdn.net/topics/619791811)。

760人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 问答
  • 代码仓
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 问答

  • 代码仓

  • 收藏

  • 关注/订阅/互动

  • 社区

搜索 取消

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 ·
988 阅读 ·
16 点赞 ·
0 评论 ·
4 收藏

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

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

LVGL开发——(一)LVGL简介

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

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 ·
3369 阅读 ·
20 点赞 ·
0 评论 ·
17 收藏

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

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

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

0:SCK默认低电平1:SCK默认高电平0:先采样后修改(读IO电平数据)1:先修改后采样(写IO电平)模式CKPLCKPH空闲状态电平读数据边沿000低上升沿101低下降沿210高下降沿311高上升沿。
转载
博文更新于 2024.08.30 ·
1761 阅读 ·
39 点赞 ·
0 评论 ·
23 收藏

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

ADC有一个内置自校准模式,可以大幅减少因内部电容组的变化而造成的精准度误差。校准需要ADC使能之后延迟14个CK_ADC以等待ADC稳定。总转换时间=采样时间+12 个 CK_ADC 周期。
原创
博文更新于 2024.08.30 ·
927 阅读 ·
15 点赞 ·
0 评论 ·
2 收藏

ARM32开发——(二十)ADC

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

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

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

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

每传输一个字节数据,地址是否需要增长。这里包含了源地址是否需要增长,也包含了目标地址是否需要增长。源地址和目标地址都是提前配置好的,当传输时,就会从源地址将数据传递给目标地址。实现串口的数据接收,要求采用dma的方式。数据宽度表示一次传递多上个bit。
原创
博文更新于 2024.08.28 ·
689 阅读 ·
6 点赞 ·
0 评论 ·
3 收藏

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

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

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

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

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

每传输一个字节数据,地址是否需要增长。这里包含了源地址是否需要增长,也包含了目标地址是否需要增长。源地址和目标地址都是提前配置好的,当传输时,就会从源地址将数据传递给目标地址。实现串口的发送数据, 要求采用dma的方式。串口中,寄存器地址不变,大小不变,数据宽度表示一次传递多上个bit。传输了多少个数据宽度的数据。
原创
博文更新于 2024.08.27 ·
772 阅读 ·
10 点赞 ·
0 评论 ·
8 收藏

ARM32开发——(十三)DMA

CPU执行过程中,通过总线,到SRAM中取数据CPU将取的数据,按照逻辑处理顺序进行执行逻辑中用到了外设部分,CPU会将对应的数据通过总线传递给外设这里的每一份数据都是这么个操作流程。
转载
博文更新于 2024.08.26 ·
1515 阅读 ·
33 点赞 ·
0 评论 ·
14 收藏

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

GD32F4系列微控制器支持DMA(Direct Memory Access)功能,该功能允许外设通过DMA控制器直接访问内存,从而减轻CPU的负担。通过使用DMA功能,可以大大提高系统的效率,特别是在需要大量数据传输的应用中。
原创
博文更新于 2024.08.26 ·
777 阅读 ·
3 点赞 ·
0 评论 ·
6 收藏

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

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

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

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

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

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

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

NVIC可以自动地响应中断,并管理中断优先级、中断处理程序等,从而实现多个中断的快速、有序、有效地响应。优先级的界定: 无论是抢占优先级还是响应优先级,都是用数值表示的,数值越小,优先级越高。在ARM中,为了表示抢占优先级和响应优先级,仅用了4个Bit表示了优先级的等级。正在执行的较低抢占优先级的中断。中断优先级分为抢占优先级,响应优先级和自然优先级。响应优先级相同,抢占优先级不同,测试不同的结果。响应优先级相同,抢占优先级不同,测试不同的结果。响应优先级相同,抢占优先级不同,测试不同的结果。
原创
博文更新于 2024.08.24 ·
3065 阅读 ·
71 点赞 ·
0 评论 ·
33 收藏

ARM32开发——(八)中断

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