- 博客(102)
- 资源 (7)
- 收藏
- 关注
原创 【STM32H750】玩转ART-Pi(三)——如何在ART-PI上创建TouchGFX工程
目录在ART-Pi H750上移植TouchGFX(一)——使用STM32CUBMX生成TouchGFX工程在ART-Pi H750上移植TouchGFX(二)——制作MDK的外部QSPI-FLASH烧录算法在ART-Pi H750上移植TouchGFX(三)——移植TouchGFX到RT-Thread系统在ART-Pi H750上移植TouchGFX(四)——使用RT-Thread Studio移植TouchGFX在ART-Pi H750上移植TouchGFX(五)——制作ST-LINK的外部Q
2020-09-18 16:07:42
7377
4
原创 【STM32H750】玩转ART-Pi(二)——制作MDK的外部QSPI-FLASH烧录算法
目录在ART-Pi H750上移植TouchGFX(一)——使用STM32CUBMX生成TouchGFX工程在ART-Pi H750上移植TouchGFX(二)——制作MDK的外部QSPI-FLASH烧录算法在ART-Pi H750上移植TouchGFX(三)——移植TouchGFX到RT-Thread系统在ART-Pi H750上移植TouchGFX(四)——使用RT-Thread Studio移植TouchGFX在ART-Pi H750上移植TouchGFX(五)——制作ST-LINK的外部Q
2020-09-16 12:35:10
16028
3
原创 【STM32H750】玩转ART-Pi(一)——使用STM32CUBMX生成TouchGFX工程
目录在ART-Pi H750上移植TouchGFX(一)——使用STM32CUBMX生成TouchGFX工程在ART-Pi H750上移植TouchGFX(二)——制作MDK的外部QSPI-FLASH烧录算法在ART-Pi H750上移植TouchGFX(三)——移植TouchGFX到RT-Thread系统在ART-Pi H750上移植TouchGFX(四)——使用RT-Thread Studio移植TouchGFX在ART-Pi H750上移植TouchGFX(五)——制作ST-LINK的外部Q
2020-09-15 16:53:40
12058
7
转载 一文读懂指针的本质
地址: 所谓地址就是一个整形的数字(常数)。地址不包含任何类型信息。**指针:**指针分为指针常量和指针变量,单独说指针的时候,通常指指针常量,其中:指针常量=地址数组(常数)+类型信息指针变量=整形变量+类型信息变量 = * 指针指针 = &变量类型信息可以通过强制类型转换来实现,也就是大家熟悉的 (< Type >) 用法。地址数值的改变,则统一转化为普通整数以后再说。指针常量 = 整数常量 + 类型信息也就是:*指针常量 = (<类型信息> )整数
2020-08-18 16:03:43
1830
原创 【STM32F429】RT-Thread结合TouchGFX实战教程
目录【DIY数字仪表】STM32F429移植TouchGFX到RT-Thread系统(1)【DIY数字仪表】使用TouchGFX的MVP架构来实现GUI和硬件的双向交互(2)【DIY数字仪表】RT-Thread移植touchgfx实现自动同步网络时间和天气预报(3)【DIY数字仪表】RT-Thread移植touchgfx使用sd卡升级固件和图片资源(4)实验平台:硬件: 野火挑战者STM32F429 V1开发版软件: 最新版本的STM32CubeF4固件库,TouchGFXDesign
2020-08-03 21:27:27
2759
原创 【STM32F429】RT-Thread移植touchgfx使用sd卡升级固件和图片资源(4)
实验平台:硬件: 野火挑战者STM32F429 V1开发版,5寸屏软件: 最新版本的STM32CubeF4固件库,TouchGFXDesigner v4.14和 STM32CubeMX v6.0.0,开发环境MDK v5.29代码下载:代码持续更新中:github代码下载地址https://gitee.com/Aladdin-Wang/hellotouchGFX.git觉得有用的话,欢迎打个小星星联系作者:关注公众号,回复加群,加入技术交流群共同学习...
2020-08-02 16:26:23
1164
原创 【STM32F429】RT-Thread移植touchgfx实现自动同步网络时间和天气预报(3)
实验平台:硬件: 野火挑战者STM32F429 V1开发版,5寸屏软件: 最新版本的STM32CubeF4固件库,TouchGFXDesigner v4.14和 STM32CubeMX v6.0.0,开发环境MDK v5.29效果演示:代码下载:代码持续更新中:github代码下载地址https://gitee.com/Aladdin-Wang/hellotouchGFX.git觉得有用的话,欢迎打个小星星联系作者:关注公众号,加入技术交流群共同学习...
2020-07-27 15:02:15
1710
原创 【STM32F429】使用TouchGFX的MVP架构来实现GUI和硬件的双向交互(2)
目录:0.STM32F429使用STM32CUBMX5.6移植touchGFX4.131.使用MVP架构来实现GUI和硬件的双向交互2.STM32F429移植TouchGFX到RT-Thread系统实战:3.STM32F767移植touchGFX—— 使用RT-Thread系统实现DIY数字仪表(正在进行)4.STM32H747移植touchGFX—— 基于RT-Thread物联网系统实现AI图像识别(计划进行)实验平台:硬件: 野火挑战者STM32F429开发版软件: 最新版本的
2020-07-26 20:27:05
1523
原创 制作STM32F429的外部SPI-FLASH下载算法
下载算法的模版在keil安装目录\ARM\Flash下的_Template文件夹,把此文件夹复制出来,进行修改。也可以自行修改此工程名。打开此工程,选择自己的芯片类型:添加W25QXX的驱动代码:去正点原子的论坛下载STM32F29的寄存器工程,拷贝出HARDWARE文件夹下的SPI和W25QXX驱动,和SYSTEM文件夹。添加W25QXX的驱动修改FlashDev.c代码:#include "FlashOS.H" // FlashOS Structuresstruc
2020-07-09 09:48:14
5734
6
原创 【STM32F429】移植TouchGFX到RT-Thread系统(1)
目录:0.STM32F429使用STM32CUBMX5.6移植touchGFX4.131.STM32F429移植touchGFX(一)——通过STM32CubeMX移植TouchGFX2.STM32F429移植touchGFX(二)—— 使用MVP架构来实现GUI和硬件的双向交互3.STM32F429移植TouchGFX到RT-Thread系统实战:3.STM32F767移植touchGFX—— 使用RT-Thread系统实现DIY数字仪表(正在进行)4.STM32H747移植touchGFX
2020-07-08 17:56:06
5191
1
原创 零代码玩转OTA升级
前言:前边讲过OTA的bootloader实现方法,没有看过的,可以参考这一篇文章:[STM32通用Bootloader——FOTA](https://blog.csdn.net/sinat_31039061/article/details/106344081),这一篇将介绍如何实现app通过阿里云物联网平台实现OTA升级。
2020-06-20 14:06:27
2794
2
原创 OOPC精要——撩开“对象”的神秘面纱
前言:何为面向过程:面向过程,本质是“顺序,循环,分支”面向过程开发,就像是总有人问你要后续的计划一样,下一步做什么,再下一步做什么,意外、事物中断、突发事件怎么做。理论上来说,任何一个过程都可以通过“顺序,循环,分支”来描述出来,但是实际上,很多项目的复杂度,都不是“顺序循环分支”几句话能说清楚的。稍微大一点的项目,多线程,几十件事情并发, 如果用这种最简单的描述方式,要么几乎无法使用,缺失细节太多,要么事无巨细,用最简单的描述,都会让后期复杂度提升到一个爆炸的状态。何为面向对象:**面向对象,
2020-06-05 13:50:36
749
2
原创 STM32通用FLASH管理软件包——SFUD/FAL
本次介绍的三个软件包SFUD/FAL/EASYFLASH都与FLASH有关,并且都可以独立使用或者结合在一起使用,三个软件包都可以使用裸机移植,也很方便移植到各种系统。这三个软件包的作者都是armink,armink的开源仓库地址:https://github.com/armink,更多好玩的软件,请到作者仓库查询。以下将结合rtthread系统,分别对这三个软件包做下演示。SFUDSFUD 是一款开源的串行 SPI Flash 通用驱动库。由于现有市面的串行 Flash 种类居多,各个 Flash
2020-06-02 11:59:10
4098
原创 RT-Thread进阶之低功耗PM组件应用笔记
电源管理组件嵌入式系统低功耗管理的目的在于满足用户对性能需求的前提下,尽可能降低系统能耗以延长设备待机时间。高性能与有限的电池能量在嵌入式系统中矛盾最为突出,硬件低功耗设计与软件低功耗管理的联合应用成为解决矛盾的有效手段。现在的各种 MCU 都或多或少的在低功耗方面提供了管理接口。比如对主控时钟频率的调整、工作电压的改变、总线频率的调整甚至关闭、外围设备工作时钟的关闭等。有了硬件上的支持,合理的软件设计就成为节能的关键,一般可以把低功耗管理分为三个类别:处理器电源管理主要实现方式:对 CPU 频率
2020-05-28 15:52:44
11411
18
原创 STM32通用Bootloader——FOTA
1.固件升级简述固件升级,通常称为 OTA(Over the Air)升级或者 FOTA(Firmware Over-The-Air)升级,即固件通过空中下载进行升级的技术。1.1 bootloader 升级模式bootloader 的升级模式常见有以下两种:bootloader 分区 + app1 分区 + app2 分区模式该模式下, bootloader 启动后,检查 app1 和 app2 分区,哪个固件版本最新就运行哪个分区的固件。当有新版本的升级固件时,固件下载程序会将新的固件下载到
2020-05-26 10:54:03
10560
6
转载 simple fsm状态机模板应用笔记(二)——simple fsm语法规则
原文地址:https://www.amobbs.com/thread-5668532-1-1.html如何使用1. 如何定义一个状态机语法:simple_fsm( <状态机名称>, def_params( 参数列表 ))例子:/*! fsm used to output specified string */simple_fsm( print_string, def_params( cons
2020-05-10 21:59:44
1228
转载 simple fsm状态机模板应用笔记(一)——simple fsm的设计思维和哲学
原文地址:https://www.amobbs.com/thread-5668532-1-1.html说在前面的话好久没有整理代码了,最近一直在做ARMv8-M系统安全设计相关的研究,虽然忙,但不代表我对自己无聊的爱好——整理一些好玩的代码模板,或者说语法糖——失去了兴趣。人总是会变的,一段时间过去以后,发现过去写的代码真心看着“心累”——宏一律大写看着辣眼睛,比如以前写的状态机脚本,所有做“状态机脚本语法辅助”的宏都是大写,看着果然还是不舒服。这次,我修正了一下自己的编码风格:“所有宏和枚举都是大写
2020-05-10 20:32:26
871
转载 PLOOC模板学习笔记(一)——PLOOC的设计思维和哲学
原文地址:https://github.com/GorgonMeducer/PLOOC介绍PLOOC是使用ANSI-C(又名PLOOC ['plu:k])进行的受保护的低开销面向对象编程,它是一组经过精心修饰的C宏模板,这些模板可:为私有class成员提供保护注意:可以通过定义宏__OOC_DEBUG__来禁用保护,以方便调试。支持受保护的成员支持多重继承支持实现接口在某...
2020-05-07 21:54:52
2796
转载 模块的封装(四)——头文件的作用
认真说起来,头文件(Header File)是个短命的家伙——就整个编译过程来说,它的寿命是最短的。为什么这么说呢?关于头文件的话题,讨论起来那可是“孩子没娘,说来话长了”,既然是闲聊、你也不是等着这篇文章救命,那就不妨从头开始说起——先假设读者们都是不了解编译基本过程的初学者。一个编译(Compilation)过程通常至少分为三个阶段:预编译(Precompiling)、编译(Make)和链...
2020-05-07 10:10:58
1024
原创 【RT-Thread作品秀】使用RTThread和TouchGFX实现DIY数字仪表
概述学习一门新技术,最好的办法是带着需求去学习,在项目中不断磨练自己,而不是漫无目的的去学,有了需求驱动,才更容易获得学习成果和完成项目后的成就感。通过本项目可以学习到的新技术有:RT-Thread系统、TouchGFX、微信小程序、面向对象编程思想等。每个关键词里都有很多值得深思的技术细节。本项目所要实现的功能有:显示屏第一页显示时钟、近三天天气预报和传感器数值显示屏第二页可以进行传...
2020-05-05 17:11:23
4706
1
原创 【STM32F767】使用RTThread和TouchGFX实现DIY数字仪表(五)——同步天气信息
目录:1.使用RTThread和TouchGFX实现DIY数字仪表(一)——使用STM32CUBMX5.6移植touchGFX4.132.使用RTThread和TouchGFX实现DIY数字仪表(二)——把TouchGFX移植到RTThread系统3.使用RTThread和TouchGFX实现DIY数字仪表(三)——获取温湿度传感器数据4.使用RTThread和TouchGFX实现DIY数...
2020-04-30 09:20:02
2886
原创 【STM32F767】使用RTThread和TouchGFX实现DIY数字仪表(八)——开发微信小程序
目录:1.使用RT-Thread 系统实现DIY数字仪表(一)——STM32CUBMX5.6移植touchGFX4.132.使用RT-Thread 系统实现DIY数字仪表(二)——把TouchGFX移植到RTThread系统3.使用RT-Thread 系统实现DIY数字仪表(三)——获取温湿度传感器数据4.使用RT-Thread 系统实现DIY数字仪表(四)——同步网络时间5.使用RT-...
2020-04-22 11:39:56
3833
1
原创 【STM32F767】使用RTThread和TouchGFX实现DIY数字仪表(七)——使用MQTT.fx模拟手机设备进行M2M设备间通信
目录:1.使用RT-Thread 系统实现DIY数字仪表(一)——STM32CUBMX5.6移植touchGFX4.132.使用RT-Thread 系统实现DIY数字仪表(二)——把TouchGFX移植到RTThread系统3.使用RT-Thread 系统实现DIY数字仪表(三)——获取温湿度传感器数据4.使用RT-Thread 系统实现DIY数字仪表(四)——同步网络时间5.使用RT-...
2020-04-14 17:31:45
2000
原创 【STM32F767】使用RTThread和TouchGFX实现DIY数字仪表(六)——链接阿里云物联网平台
目录:1.使用RT-Thread 系统实现DIY数字仪表(一)——STM32CUBMX5.6移植touchGFX4.132.使用RT-Thread 系统实现DIY数字仪表(二)——把TouchGFX移植到RTThread系统3.使用RT-Thread 系统实现DIY数字仪表(三)——获取温湿度传感器数据4.使用RT-Thread 系统实现DIY数字仪表(四)——同步网络时间5.使用RT-...
2020-04-06 17:45:34
2447
原创 【STM32F767】使用RTThread和TouchGFX实现DIY数字仪表(四)——同步网络时间
目录:1.使用RT-Thread 系统实现DIY数字仪表(一)——STM32CUBMX5.6移植touchGFX4.132.使用RT-Thread 系统实现DIY数字仪表(二)——把TouchGFX移植到RTThread系统3.使用RT-Thread 系统实现DIY数字仪表(三)——获取温湿度传感器数据4.使用RT-Thread 系统实现DIY数字仪表(四)——同步网络时间5.使用RT-...
2020-04-06 15:42:13
3265
原创 【STM32F767】使用RTThread和TouchGFX实现DIY数字仪表(三)——获取温湿度传感器数据
目录:1.使用RT-Thread 系统实现DIY数字仪表(一)——STM32CUBMX5.6移植touchGFX4.132.使用RT-Thread 系统实现DIY数字仪表(二)——把TouchGFX移植到RTThread系统3.使用RT-Thread 系统实现DIY数字仪表(三)——RTThread系统添加传感器软件包4.使用RT-Thread 系统实现DIY数字仪表(三)——RTThre...
2020-04-03 13:01:24
3684
原创 【STM32F767】使用RTThread和TouchGFX实现DIY数字仪表(二)——把TouchGFX移植到RTThread系统
目录:1.使用RT-Thread 系统实现DIY数字仪表(一)——STM32CUBMX5.6移植touchGFX4.132.使用RT-Thread 系统实现DIY数字仪表(二)——把TouchGFX移植到RTThread系统3.使用RT-Thread 系统实现DIY数字仪表(三)——RTThread系统实现物联网平台4.使用RT-Thread 系统实现DIY数字仪表(四)——完善Touch...
2020-03-23 12:10:38
6789
1
原创 【STM32F767】使用RTThread和TouchGFX实现DIY数字仪表(一)——使用STM32CUBMX5.6移植touchGFX4.13
目录:1.使用RT-Thread Studio实现DIY数字仪表(一)——STM32CUBMX5.6移植touchGFX4.132.使用RT-Thread Studio实现DIY数字仪表(二)——把TouchGFX移植到RTThread系统3.使用RT-Thread Studio实现DIY数字仪表(三)——RTThread系统实现物联网平台4.使用RT-Thread Studio实现DIY...
2020-03-14 23:28:08
8225
4
原创 LWIP学习笔记8——提高 LwIP 网络传输的速度
提高 LwIP 网络传输的速度以太网发送和接收的缓冲区大小,默认是 4,可以稍微改大一点,1 #define ETH_RXBUFNB ((uint32_t)8U) /* 接收缓冲区 */2 #define ETH_TXBUFNB ((uint32_t)8U) /* 发送缓冲区 */对 LwIP 管理的内存肯定要分配的大一些, 而对于发送数据是存储在 ROM 或者静态存储区的时候,还要将 ...
2020-03-09 13:56:38
13476
原创 LWIP学习笔记7——使用 Socket 接口编程
1 使用 Socket 接口编程在 LwIP 中, Socket API 是基于 NETCONN API 之上来实现的,系统最多提供MEMP_NUM_NETCONN 个 netconn 连接结构,因此 Socket 套接字的个数也是那么多个,为了更好对 netconn 进行封装, LwIP 还定义了一个套接字结构体——lwip_sock(我称之为Socket 连接结构) , 每个 lwip_so...
2020-03-09 13:46:20
2672
原创 LWIP学习笔记6——使用 NETCONN 接口编程
使用 NETCONN 接口编程NETCONN API 使用了操作系统的 IPC 机制, 对网络连接进行了抽象,用户可以像操作文件一样操作网络连接(打开/关闭、读/写数据)。 但是 NETCONN API 并不如操作文件的 API 那样简单易用。举个例子,调用 f_read 函数读文件时,读到的数据会被放在一个用户指定的数组中,用户操作起来很方便,而 NETCONN API 的读数据 API,就没...
2020-03-09 13:42:57
7784
原创 LWIP学习笔记5——TCP协议
1 TCP 协议TCP 协议(TransmissionControl Protocol,传输控制协议) 它是最常用传输层协议,也是最稳定传输层协议,很多上层应用都是依赖于 TCP 协议进程传输数据,如SMTP、 FTP 等等。一个完整的 TCP 传输必须有数据的交互,接收方在接收到数据之后必须正面进行确认,向发送方报告接收的结果,而发送方在发送数据之后必须等待接收方的确认,同时发送的时候会启动...
2020-03-09 13:38:57
997
原创 LWIP学习笔记4——ICMP协议
8 网际控制报文协议 ICMPICMP 最典型的用途是差错报告。如果由于网络状况、链路不通等数据报无法到达目标主机,ICMP 就会返回一个差错报文,让源主机知道数据没能正常到达目标主机,接着进行重发或者放弃发送都可以。ICMP 通常被认为是 IP 的一部分,但从体系结构上讲它是位于 IP 之上的,因为 ICMP报文是承载在 IP 数据报中的。这就是说, ICMP 报文是作为 IP 数据报数据区...
2020-03-08 17:07:26
634
原创 STM32F429使用STM32CUBMX5.6移植touchGFX4.13
目录:新版:0.STM32F429使用STM32CUBMX5.6移植touchGFX4.13旧版:1.STM32F429移植touchGFX(一)——通过STM32CubeMX移植TouchGFX2.STM32F429移植touchGFX(二)—— 使用MVP架构来实现GUI和硬件的双向交互3.STM32F429移植touchGFX(三)—— 实现DIY数字仪表实验平台:硬件: ...
2020-03-06 15:34:36
8219
5
原创 LWIP学习笔记3——IP协议
7 IP协议IP 协议是一种无连接的不可靠数据报交付协议,协议本身不提供任何的错误检查与恢复机制。它是整个TCP/IP 协议栈的核心协议,上层协议都要依赖 IP 协议提供的服务, IP 协议负责将数据报从源主机发送到目标主机,通过 IP 地址作为唯一识别码。7.1 IP 地址IP 地址划分为 5 大类,分别为 A、 B、 C、 D、 E 五类,每一类地址都觉定了其中 IP 地址的一部分组成...
2020-03-06 09:43:42
682
原创 LWIP学习笔记2——ARP协议
6 ARP协议地址解析协议(Address Resolution Protocol, ARP)是通过解析 IP 地址得到数据链路层地址的,是一个在网络协议包中极其重要的网络传输协议,它与网卡有着极其密切的关系,在 TCP/IP 分层结构中,把 ARP 划分为网络层。7 IP协议IP 协议是一种无连接的不可靠数据报交付协议,协议本身不提供任何的错误检查与恢复机制。它是整个TCP/IP 协议栈...
2020-03-05 08:57:00
643
原创 LWIP学习笔记1——基础介绍
1.网络协议的分层模型物理层(PHY) 规定了传输信号所需要的物理电平、介质特征。链路层( MAC) 规定了数据帧能被网卡接收的条件,最常见的方式是利用网卡的 MAC 地址,发送方会在欲发送的数据帧的首部加上接收方网卡的 MAC 地址信息,接收方只有监听到属于自己的MAC 地址信息后,才会去接收并处理该数据。网络层: 每台网络设备都应该有自己的网络地址,网络层规定了主机的网络地址该如何定义...
2020-02-29 23:22:37
4972
转载 被遗忘的C结构体封装技术
1. 谁该阅读本文本文是关于如何减少C程序的内存占用的:手工重新排列C结构体的成员声明来减小尺寸。为了读懂它,你需要基本的C语言知识。如果你想为内存受限的嵌入式系统或操作系统内核写代码,你需要了解该技术。 如果你在处理很大量的应用程序数据时经常超出了内存限制,或是你非常想要减小缓存不命中的次数,了解该技术是很有用的。最后,理解该技术是其它难懂的C语言概念的入口。 你不是高级的C程序员除非你掌...
2020-02-17 22:32:35
619
原创 变量的本质和关键字
1、voidvoid 的字面意思是“空类型”, void *则为“空类型指针”, void *可以指向任何类型的数据。如果函数没有返回值,那么应声明为 void 类型。如果函数无参数,那么应声明其参数为 void千万小心又小心使用 void 指针类型任何类型的指针都可以直接赋值给void *,但void *不可以无需强制类型转换地赋给其它类型的指针。按照 ANSI(American ...
2020-02-17 20:35:26
299
art_pi_module.zip
2020-11-27
art_pi_touchgfx.zip
2020-11-22
使用静态库提高TouchGFX编译速度的例程
2020-10-26
H750_2.zip
2020-09-16
H750_1.zip
2020-09-16
W25QXX_Template.zip
2020-03-14
TouchGFX快速开发演示.zip
2020-03-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅