
嵌入式系统应用
文章平均质量分 92
以stm32f407的为载体,以操作系统开发为主线,从物联网、图形界面开发、网络和文件开发为视角来介绍芯片的应用。
数贾电子科技
个人经历:有6年的海外跨国企业嵌入式产品研发经历和11年职业教育经历,曾指导学生参加大学生电子设计大赛、职业技能国赛和世界技能大赛等赛项获奖。与国内企业开发产品:智能充电柜、车载氛围灯、数据采集盒、智能压力传感器和车载数据检测仪等嵌入式产品。承接各种嵌入式产品的软件和硬件电路板设计和开发。
展开
-
嵌入式系统应用-第一章环境搭建
本文以介绍stm32f407为基础,后期持续更新更多章节。原创 2023-10-02 11:33:47 · 292 阅读 · 1 评论 -
嵌入式系统应用-第二章GPIO口
嵌入式系统第二章:GPIO原创 2023-10-03 23:55:56 · 515 阅读 · 0 评论 -
嵌入式系统应用-第三章 RT-Thead(RTOS)操作系统移植
Rt-thread 常见的版本有:Nano版本、标准版本和Smart版本。不同版本中的内核代码是一样,只是多了一些外设资源。由于F4的资源有限和作为入门介绍,本章这里以Nano版本作为介绍。RT-Thread Nano 是一个极简版的硬实时内核,它是由 C 语言开发,采用面向对象的编程思维,具有良好的代码风格,是一款可裁剪的、抢占式实时多任务的 RTOS。其内存资源占用极小,功能包括任务处理、软件定时器、信号量、邮箱和实时调度等相对完整的实时操作系统特性。原创 2023-10-11 14:25:57 · 1338 阅读 · 0 评论 -
嵌入式系统应用-第四章操作系统(rt_thread)内核kernel 上
线程,即任务的载体。一般被设计成 while(1) 的循环模式,但在循环中一定要有让出 CPU 使用权的动作。如果是可以执行完毕的线程,则系统会自动将执行完毕的线程进行删除 / 脱离。周期性定时器 1 的超时函数,每 5 个 OS Tick 运行 1 次,共运行 5 次(5 次后调用 rt_timer_stop 使定时器 1 停止运行);单次定时器 2 的超时函数在第 15 个 OS Tick 时运行一次。原创 2023-10-23 12:45:06 · 578 阅读 · 1 评论 -
嵌入式系统应用-第四章操作系统(rt_thread)内核kernel 下
周期性定时器 1 的超时函数,每 5 个 OS Tick 运行 1 次,共运行 5 次(5 次后调用 rt_timer_stop 使定时器 1 停止运行);单次定时器 2 的超时函数在第 15 个 OS Tick 时运行一次。原创 2023-11-01 11:58:34 · 934 阅读 · 1 评论 -
嵌入式系统应用-第五章 操作系统(RTOS)之FinSH(shell)
在计算机发展的早期,图形系统出现之前,没有鼠标,甚至没有键盘。那时候人们如何与计算机交互呢?最早期的计算机使用打孔的纸条向计算机输入命令,编写程序。后来随着计算机的不断发展,显示器、键盘成为计算机的标准配置,但此时的操作系统还不支持图形界面,计算机先驱们开发了一种软件,它接受用户输入的命令,解释之后,传递给操作系统,并将操作系统执行的结果返回给用户。这个程序像一层外壳包裹在操作系统的外面,所以它被称为 shell。嵌入式设备通常需要将开发板与 PC 机连接起来通讯,常见连接方式包括:串口、USB、以太网、W原创 2023-11-08 13:39:24 · 897 阅读 · 1 评论 -
嵌入式系统应用-第六章 操作系统(RTOS)之I/O设备模型介绍
操作系统IO口介绍原创 2023-11-15 10:14:51 · 453 阅读 · 1 评论 -
嵌入式系统应用-第七章 操作系统(RTOS)之PIN(GPIO)设备操作
NANO的PIN设备原创 2023-11-22 23:45:18 · 606 阅读 · 1 评论 -
嵌入式系统应用-第八章 基于LVGL的入门介绍
LVGL的操作原创 2023-11-29 12:57:45 · 2143 阅读 · 1 评论 -
嵌入式系统应用-第九章 STM32 FSMC 彩色屏幕操作
TFTLCD 即薄膜晶体管液晶显示器。它与无源 TN-LCD、STN-LCD 的简单矩阵不同,它在液晶显示屏的每一个象素上都设置有一个薄膜晶体管(TFT),可有效地克服非选通时的串扰,使显示液晶屏的静态特性与扫描线数无关,因此大大提高了图像质量。TFTLCD 具有:亮度好、对比度高、层次感强、颜色鲜艳等特点。是目前最主流的LCD 显示器。广泛应用于电视、手机、电脑、平板等各种电子产品.原创 2023-12-06 13:30:53 · 1039 阅读 · 1 评论 -
嵌入式系统应用-第十章 LVGL的移植到基于STM32的工程
添加宏定义:LV_CONF_INCLUDE_SIMPLE。原创 2023-12-20 15:37:24 · 1912 阅读 · 0 评论 -
嵌入式系统应用-第十一章 LVGL的移植之输入触摸屏操作
前面第十章已经完成了屏幕的显示的移植操作,现在开始输入触摸屏的移植操作。原创 2024-01-07 13:56:27 · 1034 阅读 · 0 评论 -
嵌入式系统应用-第十二章 综合应用
触摸屏控制led1灯亮和灯灭创建一个线程来控制灯每隔500ms闪烁触摸屏控制蜂鸣器 响和灭屏幕调节屏幕亮度光线强度,调节状态条的值在彩色屏幕上面显示 年、月 和日通过几个小实验,对前面的知识点进行总结。掌握线程创建、图形库的使用和片上资源的合理配置。原创 2024-01-07 17:00:01 · 778 阅读 · 0 评论 -
嵌入式系统应用-拓展-STM32 低功耗设计
在手持设备使用过程中,功耗一直是一个比较敏感的问题。1. 关闭未使用的外设时钟通过 RCC_AHB1ENR、RCC_APB1ENR 等寄存器禁用不需要的外设时钟。2. 降低主频降低系统时钟频率(如使用 HSI 或 MSI 时钟源代替 HSE)。3. 配置 GPIO 为低功耗状态未使用的 GPIO 设置为模拟输入(高阻态)或输出低电平。4. 使用 RTC 和低功耗定时器利用 RTC 或 LPTIM(低功耗定时器)唤醒系统,替代普通定时器。5. 电源管理。原创 2025-03-25 22:49:32 · 1355 阅读 · 0 评论 -
嵌入式系统应用-拓展-JLINK的高速传输应用之RTT VIEWER 1 (中文显示,多通道传输)
SEGGER’s Real Time Transfer (RTT), 是一种用于嵌入式应用程序中交互式用户I/O的技术。它以非常高的性能结合了SWO和半托管的优点。通过RTT,可以从目标微控制器输出信息,并以非常高的速度向应用程序发送输入,而不会影响目标的实时行为。SEGGER RTT可用于任何J-Link型号和任何支持后台内存访问的目标处理器,即Cortex-M和RX目标。RTT支持两个方向上的多个信道,上到主机,下到目标,可用于不同的目的,并为用户提供最大的自由度。原创 2025-04-08 18:15:21 · 1104 阅读 · 0 评论 -
嵌入式系统应用-拓展-JLINK的高速传输应用之RTT VIEWER 2
SEGGER_RTT_GetKey() 是 SEGGER RTT 库提供的 非阻塞式单字符接收函数,用于从 RTT 下行通道(PC → 设备)快速读取一个字符。返回值:≥ 0:读取到的字符(ASCII 值)。-1:当前无数据可读(非阻塞)。行为:从下行通道(默认通道 0)读取 1 个字符,若缓冲区为空则立即返回 -1。原创 2025-04-09 11:34:17 · 450 阅读 · 0 评论 -
嵌入式系统应用-拓展-RTT VIEWER 和 rt-thread的shell组件应用
RT-Thread 的 Shell 组件 是一个交互式命令行工具,允许开发者通过串口或其他输入/输出设备与嵌入式系统进行交互,执行系统调试、信息查询、控制硬件等操作。它是 RT-Thread 的核心组件之一,常用于嵌入式开发调试和系统管理。一般情况下,默认使用串口(UART) 作为输入输出设备。这里采用jilink的rtt viewer作为输出设备。这样的好处是更加方便。不需要使用其他额外的硬件。传输速度也比较快。原创 2025-04-09 11:35:00 · 728 阅读 · 0 评论 -
嵌入式系统应用-拓展-FLASH之操作 SFUD (Serial Flash Universal Driver)之KEIL应用
W25Q32广泛应用于嵌入式系统中,如智能手机、数字相机、网络设备、工业控制系统等,用于存储固件、配置数据、日志记录等信息。工作电压: 标准的工作电压范围为2.7V至3.6V,也有一些版本支持低电压工作(1.65V至2.0V)。容量: W25Q32的容量为32 Megabits(Mb),即4 Megabytes(MB)。速度: 支持不同的时钟速度,例如在单线SPI模式下,最高速度可达到104MHz。接口: 采用串行外围接口(SPI)进行通信,支持快速的串行数据传输。原创 2024-05-06 22:25:58 · 572 阅读 · 0 评论 -
嵌入式系统应用-拓展-GPRS或者北斗芯片定位
因为项目需要,需要设计一个定位系统。可以自由切换北斗和GRPS的全球定位系统。综合对比之下,选择了中芯微的GM36的全球定位芯片。可以支持北斗和GPRS的定位系统。原创 2024-04-25 11:03:21 · 1326 阅读 · 0 评论 -
嵌入式系统应用-拓展-FLASH之操作 SFUD (Serial Flash Universal Driver)之KEIL移植
先说明下本库主要使用的一个结构体 sfud_flash。其定义位于 /sfud/inc/sfud_def.h。每个 SPI Flash 会对应一个该结构体,该结构体指针下面统称为 Flash 设备对象。初始化成功后在 sfud_flash->chip 结构体中会存放 SPI Flash 的常见参数。如果 SPI Flash 还支持 SFDP ,还可以通过 sfud_flash->sfdp 看到更加全面的参数信息。原创 2024-05-06 21:46:05 · 1640 阅读 · 0 评论 -
嵌入式系统应用-拓展-相关开发软件说明
这里以STM32的系列产品为例子,利用MDK的集成开发平台进行开发过程中,所有相关软件安装说明。原创 2025-04-04 14:39:47 · 620 阅读 · 0 评论 -
嵌入式系统应用-拓展1 代码托管
gitee原创 2023-10-29 17:47:14 · 300 阅读 · 1 评论 -
嵌入式系统应用-拓展 2 嵌⼊式学习路线
介绍嵌入式学习路线原创 2023-11-24 16:58:28 · 259 阅读 · 2 评论 -
KEIL-MDK的时间戳之time.h 结合gd32f1的RTC应用
现在物联网产品的在进行通讯的时候,需要加入时间戳的这个信息参数,方便服务器和产品之间交换时间信息。时间戳是计算机系统中用来表示日期和时间的一种方式,通常是一个数字或者一串字符,表示从某个特定时间点(通常是“纪元”或“起始时间”)开始经过的秒数或者毫秒数。时间戳通常是以协调世界时(UTC)为基准的,但也可以根据需要使用其他时区。时间戳的优点是它提供了一种统一的方式来表示时间,无论用户所在的时区如何,都可以通过时间戳来精确地表示一个特定的时间点。这在计算机系统中进行时间计算、排序和存储时非常有用。原创 2024-02-08 00:00:46 · 2737 阅读 · 0 评论 -
基于GD32F1的OTA的开发-Part One--阿里云搭建
本文以阿里云服务器为例,介绍物联网的搭建过程。 和设备链接过程原创 2023-04-20 23:19:34 · 1388 阅读 · 3 评论 -
stm8开发笔记--STVD开发软件的安装
调试时,STVD可提供集成模拟器(软件),并支持全套硬件工具,包括低成本RLink和ST-LINK电路内调试器/编程器、面向ST7微控制器中的经济型ST7-DVP3和高端ST7-EMU3系列MCU的模拟器,以及面向STM8微控制器的STice高级模拟器。STVD是免费提供的ST MCU工具集的一部分,该工具集还包含ST Visual Programmer编程接口和ST Assembler Linker。双击这个软件安装,输入你的用户名,进行安装,选择默认路径安装就好。这个开发的标准的外设库,可以加速开发。原创 2024-11-09 00:07:41 · 1647 阅读 · 0 评论 -
嵌入式系统应用-音乐播放器-jink viewer版本
/ 等待获取队列的,最大获取8个字节。第三篇文章介绍:jlink-viewer 和 rt-shell 组件结合。队列可以采用静态或者动态创建,一定注意发送的字节长度和接收字节最大长度;第二篇文章介绍: jlink-viewer 的常见的函数;第一篇文章介绍: jink-viewer 使用环境搭建;创建一个队列,缓存是32个字节,最大传输8个字节。控制音乐播放、暂停、下一首、上一首和音量;原创 2025-04-23 08:29:00 · 759 阅读 · 0 评论 -
嵌入式系统应用-音乐播放器-按键版本
这个音乐播放器分为了三个版本:第一个版本:基于按键的控制;第二个版本:基于串口的控制;基于触摸屏控制。这里是介绍第一个版本的创建过程。通过一个综合案例或者项目,引导出片上资源的引用。原创 2025-03-25 22:50:07 · 676 阅读 · 0 评论 -
嵌入式系统应用-LVGL的应用-音乐播放器
用LVGL做的一个简单音乐播放器原创 2024-11-11 11:47:08 · 1388 阅读 · 0 评论 -
嵌入式系统应用-LVGL的应用-智能时钟 part 1
lvgl 简单应用原创 2024-11-05 12:45:39 · 1136 阅读 · 0 评论 -
嵌入式系统应用-LVGL的应用-智能时钟 part 2
RTC 由两个主要部分组成(如图 3.1 所示)。第一部分(APB1 接口)用来和 APB1 总线相连。此单元还包含一组 16 位寄存器,可通过 APB1 总线对其进行读写操作 APB1 接口由 APB1 总线时钟驱动,用来与 APB1 总线接口。另一部分(RTC 核心)由一组可编程计数器组成,分成两个主要模块。第一个模块是 RTC 的预分频模块,它可编程产生最长为 1 秒的 RTC 时间基准 TR_CLK。RTC 的预分频模块包含了一个 20 位的可编程分频器(RTC 预分频器)。原创 2024-11-25 15:48:51 · 1219 阅读 · 0 评论 -
嵌入式系统应用-LVGL的应用-智能时钟 part 3
光敏电阻(photoresistor或light-dependent resistor,缩写为LDR)是一种基于内光电效应的半导体元件,其阻值依赖于入射光强的变化。当入射光强增加时,光敏电阻的阻值减小;反之,入射光强减弱时,其阻值增大。光敏电阻没有极性,使用时在其两端施加一个任意方向的外加电压,通过测量回路中的电流大小可以反映入射光的强弱。工作原理光敏电阻的工作原理基于半导体的内光电效应。在黑暗条件下,光敏电阻内部的大部分电子是不能自由移动的价带电子,此时光敏电阻的阻值很高。原创 2024-11-25 16:52:32 · 908 阅读 · 0 评论 -
嵌入式系统应用-LVGL的应用-平衡球游戏 part1
这个游戏界面相对比较简单,这里会的做的比较复杂一点。我们将开发一种界面平衡球的游戏, 这个。创建一个蓝色的背景, 绘制这个界面。为主界面增加一个鼠标的动作相应。绘制这个球, 选择黄色的球。创建鼠标相应绘制具体的动作。原创 2024-12-02 15:25:37 · 673 阅读 · 0 评论 -
嵌入式系统应用-LVGL的应用-平衡球游戏 part2
MPU6050是一款由InvenSense公司生产的加速度计和陀螺仪传感器,广泛应用于消费电子、机器人等领域。它集成了三轴加速度计和三轴陀螺仪,能够测量三维空间中的加速度和角速度。六轴传感器:提供三轴加速度和三轴角速度数据。结合两个传感器的数据可以实现9轴运动传感(需要外部磁力计)。通过I²C接口(也支持SPI)输出数据,方便与微控制器连接。内置温度传感器,用于温度补偿。设计注重低功耗,适合便携设备应用。具有内部数字运动处理器(DMP),可以进行数据滤波和处理,减轻主处理器的负担。原创 2024-12-02 17:48:16 · 1311 阅读 · 0 评论