自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(337)
  • 资源 (8)
  • 收藏
  • 关注

原创 TouchGFX之画布控件

需要的CWR存储空间的量取决于要在应用中绘制的最大图形大小。为了应对这种情况,CWR将图形绘制分割成较小的帧缓存部分,在这种情况下,由于有时需要不止一次地渲染图像,因此渲染时间稍长。为了生成反锯齿效果良好的复杂几何图形,需要额外的存储空间。为此,CWR必须具有专门分配的存储缓冲区,以便在渲染过程中使用。TouchGFX的画布控件,在使用相对较小的存储空间的同时保持高性能,可提供平滑、抗锯齿效果良好的几何图形绘制。在TouchGFX Designer中,可以在屏幕属性中重写画布缓冲区大小。

2023-09-22 13:41:28 198

原创 TouchGFX之自定义控件

在创建应用时,您可能需要TouchGFX中没有包含的控件。在创建应用时,您可能需要TouchGFX中没有包含的控件。但有时此法并不够用,当您需要全面控制帧缓冲时,您需要使用自定义控件法。TouchGFX Designer目前不支持自定义控件的创建。因此,您将需要手动写入自定义控件的代码,然后在视图的用户代码部分插入控件。示例为自定义一个二维码控件。运行模拟器:显示效果如下。

2023-09-20 19:24:25 44

原创 TouchGFX之缓存位图

为了打破这一限制,位图缓存提供了一种在上电期间缓存RAM中的一些或全部位图数据的机制。位图缓存是专用RAM缓冲区,应用可将位图保存(或缓存)在其中。从RAM读取数据通常比从闪存读取要快(特别是在使用纹理映射器时,原因是它使用非线性存储器存取),因此,缓存到RAM可提升UI性能。如需缓存所有位图,则缓存大小必须足够大,才能包含所有位图数据。如果可分配用于位图缓存的RAM空间小于位图的总大小,则启动过程中不能缓存所有位图。在屏幕之间切换时,您可以删除一些或全部已缓存位图,并缓存下一个屏幕所需的位图。

2023-09-13 09:59:40 575

原创 TouchGFX之自定义触发条件和操作

使用交互系统发送自定义触发条件: 通过自定义容器的“交互”选项卡,创建新的交互并选择“自定义触发条件”自定义容器操作添加行为: 自定义容器的“交互”选项卡,创建新的交互并选择“自定义操作”作为触发条件。自定义触发条件用作界面上交互系统的触发条件:通过界面选择自定义触发条件作为交互的“触发条件”通过TouchGFX Designer,您可以自己定义具有触发条件和操作的交互组件。自定义容器创建自定义触发条件:通过自定义容器的属性选项卡添加自定义触发条件。自定义容器创建操作:通过自定义容器的属性选项卡执行操作。

2023-09-10 00:51:22 101

原创 TouchGFX之调试

其实不必在应用程序中多次调用DebugPrinter::setString。只需要更改缓存区的内容,但是请调用invalidateDebugRegion,这将使DebugPrinter绘制新内容。在使用DebugPrinter之前,需要分配一个实例并将其传递给Application类,且DebugPrinter实例必须兼容所使用的LCD类。此时,我们已经将DebugPrinter配置为左上角240 x 40像素写入。DebugPrinter类是一种在显示屏上打印调试消息的简单方法,无需向屏幕添加控件。

2023-08-27 22:27:55 137

原创 TouchGFX之移植

结果和TouchGFX Designer模拟器运行结果一致。4.生成代码,工程目录下多了TouchGFX文件夹。5.打开TouchGFX Designer工程。在前面篇幅的基础上移植TouchGFX。2.使用touchgfx需要打开CRC。8.打开keil工程,修改分散加载文件。6.放置box控件,将颜色设置为红色。1.配置FreeRTOS。3.配置TouchGFX。7.运行模拟器,生成代码。9.编译工程,并烧录运行。

2023-08-25 20:09:52 87

原创 TouchGFX之触摸控制器

必须能够从触摸控制器读取触摸坐标,以便用户与应用程序进行交互。此处开发的代码将被用于以后开发TouchGFX抽象层。由于开发板触摸芯片没有连接在I2C接口上,因此本节采用普通IO口模拟I2C接口。7.烧录程序,运行检查触摸坐标。5.GT9147驱动。6.循环采集触摸坐标。

2023-08-23 15:52:51 279

原创 TouchGFX之DMA2D

Chrom-ART (DMA2D)图形加速器能够传输来自存储器的部分图像数据,并将其放入或先混合后再放入帧缓存。Chrom-ART可从内部或外部存储器读取数据。同样,它可以写入内部或外部存储器。在绘制图形时可使用此功能,以显著提高显示性能,同时明显降低应用程序的MCU占用率。在目标存储器中将特定颜色填充到屏幕(寄存器到存储器模式)4.烧录程序,显示屏显示相应颜色。

2023-08-23 15:02:50 62

原创 TouchGFX之存储器映射闪存

对于大多数项目,建议使用外部闪存,因为这允许应用程序使用多个大型图像。即便最普通的应用程序,内部闪存也可能会很快被占用完。4.添加下载算法(嵌入式基础知识,此处不做分析)2.编写W25Q256配置代码(copy。基础知识,此处不做分析)5.创建变量,仿真运行。3.修改分散加载文件。

2023-08-23 11:07:40 67

原创 TouchGFX之外部SDRAM

1.配置外部SDRAM(嵌入式基础知识,此处不做分析)2.编写SDRAM配置代码(copy正点原子例程)3.将帧缓存放在外部RAM(修改上一篇文章的工程)

2023-08-21 22:52:31 105

原创 TouchGFX之LTDC显示屏

1.根据原理图配置LTDC的GPIO(接线方式为RGB565)

2023-08-20 17:10:41 68

原创 TouchGFX之创建项目

我手里的开发板为正点原子阿波罗开发板,STM32H753IIT(Y版本)1.打开STM32CubeMX,选择STM32H753IITx。3.配置时钟(外部晶振25MHz,Y版本最大主频400MHz)2.配置调试口,SWD。6.在线调试,运行正常。

2023-08-20 16:48:03 67

原创 TouchGFX之安装

在X-CUBE-TOUCHGFX安装路径下,我的路径为C:\Users\stone\STM32Cube\Repository\Packs\STMicroelectronics\X-CUBE-TOUCHGFX\4.22.0找到下面文件。转到“STMicroelectronics”选项卡。滚动直至找到“X-CUBE-TOUCHGFX”,然后展开节点。点击“TouchGFX Generator”复选框,然后点击“立即安装”。找到TouchGFX Generator软件包进行安装.按照说明完成安装过程。

2023-08-20 16:10:49 68

原创 FreeRTOS流缓冲区

FreeRTOS的流缓冲区,提供了一个FIFO机制。数据流形式的缓冲区,只要阻塞结束,无论空间够不够,都会将可以写入的数据写入缓冲区。当写入数据长度够触发条件,就会通知接收任务。数据包形式的缓冲区,只有空间够才会写入,空间不够返回错误。写入数据包后,通知接收任务。

2023-06-03 09:05:06 159

原创 连续时间系统的时域分析

连续时间系统的时域分析

2022-11-28 12:28:14 415 1

原创 数字交流电源设计

设计目标:市电输入、开关频率32KHz、220V 50Hz 1200W输出。

2022-09-23 10:36:52 900

原创 28335之GPIO输入

if(GpioDataRegs.GPADAT.bit.GPIO13==0)//100us后按键依然按下。if(GpioDataRegs.GPADAT.bit.GPIO13==0)//检测按键按下。while(GpioDataRegs.GPADAT.bit.GPIO13==0);GpioCtrlRegs.GPAMUX1.bit.GPIO13=0;GpioCtrlRegs.GPADIR.bit.GPIO13=0;

2022-07-31 20:41:23 835

原创 28335之GPIO输出

GpioCtrlRegs.GPAMUX1.bit.GPIO0=0;//将GPIO0配置为通用IO。GpioCtrlRegs.GPADIR.bit.GPIO0=1;//将GPIO0配置为输出。/*GPIO配置函数*//*系统初始化*//*GPIO配置函数*/

2022-07-31 17:22:17 337

原创 功率驱动电路中元件的选择

自举电路由自举电阻、自举二极管和自举电容组成。当下管开通时,Vcc给自举电容充电;当下管关断时,由自举电容提供Vbs驱动上管开通。1.自举电容下图为等效模型在一个开关周期内,由自举电容提供给电路的电荷量(Qg为栅极驱动电荷,Ileak为漏电流,Ts为周期时间)开关开通时,通过自举电阻给自举电容充电的平均电流为:即开关开通时,自举电阻的平均电压为:在一个开关周期内,由自举电容提供给高边电路的电荷量(Qg为栅极驱动电荷,Ileak为漏电流,Toff为低边关

2022-03-11 13:32:39 615

原创 数字直流电源设计

设计目标:市电输入、开关频率50KHz、60V 20A 1200W输出、输出电压纹波0.2%、输出电流纹波20%、效率0.8。

2021-11-30 08:28:23 2094 2

转载 开关电源PCB排版基本要点概述

开关电源PCB排版是开发电源产品中的一个重要过程。许多情况下,一个在纸上设计得非常完美的电源可能在初次调试时无法正常工作,原因是该电源的PCB排版存在着许多问题.详细讨论了开关电源PCB排版的基本要点,并描述了一些实用的PCB排版例子。0 引言为了适应电子产品飞快的更新换代节奏,产品设计工程师更倾向于选择在市场上很容易采购到的AC/DC适配器,并把多组直流电源直接安装在系统的线路板上。由于开关电源产生的电磁干扰会影响到其电子产品的正常工作,正确的电源PCB排版就变得非常重要。开关电源PCB排版与

2021-10-11 09:07:40 390

转载 开关电源之接地要点

DC-DC电源是电子硬件设计中常用的电源电路,DC-DC电源在实现高输入电压变低输出电压时具有很高的效率,应用十分广泛,从电源适配器,手机充电器,电子设备内部电源变换都离不到DC-DC电路。各个半导体厂家都有自己的DC-DC电源芯片,可选用的芯片也十分多,对于一个设计优良的DC-DC电路,不仅要考虑好DC-DC电路的外围电阻,电容,电感的参数,同时对于PCB的布线设计也有很高的要求,本文从DC-DC电路中的电流的流向角度来提出指导PCB布线中接地的方法。 电路接地在电路原理图中看起来很简单...

2021-09-05 23:13:06 2782

转载 开关电源之PCB安规设计规范

在电子产品的PCB布线时,导线之间合适的电气间隙的设置是一件非常重要的工作,合适的线间间距的设置可以防止工作中的各有关导体之间发生闪烁或击穿,并能顺利通过有关产品安全标准的审核。在各产品工业标准和安全标准中,根据工作电压和不同的应用场合以及其他因素,对导体间的电气间隙和爬电距离有着不同的规定,PCB布线工程师往往对此莫衷一是,无所适从。接下来就帮大家解决这一难题。首先了解下基本概念:安规常用术语1)工作绝缘(功能绝缘) functional insulation仅为设备正常工作所需的绝缘。所

2021-09-05 14:35:08 5400

原创 开关电源之EMI设计

高频开关电源由于其在体积、重量、功率密度、效率等方面的诸多优点,已经被广泛地应用于工业、国防、家电产品等各个领域。开关电源的EMI干扰源集中体现在功率开关管、整流二极管、高频变压器等,外部环境对开关电源的干扰主要来自电网的抖动、雷击、外界辐射等。(1)功率开关管工作在On-Off快速循环转换的状态,dv/dt和di/dt都在急剧变换,因此,功率开关管既是电场耦合的主要干扰源,也是磁场耦合的主要干扰源。(2)EMI来源集中体现在漏感对应的di/dt快速循环变换,因此高频变压器是磁场耦合的重

2021-09-02 21:38:00 1142

原创 开关电源之防浪涌、防雷电路

对于开关电源,输入保护电路很重要,开关输入保护电路具有过流保护、过压保护以及浪涌抑制等功能,对于电网的电压冲击以及EMC等具有至关重要的作用。输入浪涌电流:通常在开关电源启动时,可能需要输入端的主电网提供短时间的大电流脉冲,这种电流脉冲通常被称为输入浪涌电流。雷击:雷电的入侵首先表现为过电压,当存在泄放通道时,产生电流。过电压有共模过电压和差模过电压两种类型。由于寄生电容的存在,雷电过电压击穿空气或在常压下绝缘的器件,形成强大的雷电流,造成设备损坏。为了抑制雷电的影响,应在雷电能量进入设备前将能

2021-09-01 23:44:01 9474

原创 Altium Designer之PCB

1.切换层 ctrl+shift+滚轮

2021-06-02 10:17:43 878

原创 Altium Designer之原理图

1.导出原理图库和封装库2.将元器件复制到原理图库和封装库直接复制粘贴3.元器件添加封装4.自动生成标识符5.编译原理图6.关闭部分警告(如off-grid)7.更新到PCB...

2021-05-28 00:06:56 1282

原创 电容

陶瓷电容陶瓷电容器是以陶瓷材料为介质的电容器的总称。根据陶瓷材料的不同,这种电容器可分为容量为1~300 pF的低频瓷介电容器和容量为300 ~ 22000 pF的高频瓷介电容器两类。按耐压区分:高压瓷介电容器(1KVDC以上)、低压瓷介电容器(500VDC以下)。陶瓷电容体积小、耐压高、耐热性能好、价格低。电解电容电解电容是电容的一种,金属箔为正极(铝或钽),与正极紧贴金属的氧化膜(氧化铝或五氧化二钽)是电介质,阴极由导电材料、电解质(电解质可以是液体或固体)和其他材料共同组成,.

2021-05-20 10:35:39 160

原创 电阻

电阻分类绕线电阻绕线电阻器是用镍铬线或锰铜线、康铜线绕在绝缘骨架上(陶瓷)制成。绕线电阻器的特点是阻值精度极高,工作时噪声小、稳定可靠,能承受高温,在环境温度170℃下仍能正常工作。但它体积大、阻值较低,大多在100KΩ以下。另外,由于结构上的原因,其分布电容和电感系数都比较大,不能在高频电路中使用。这类电阻通常在大功率电路中作降压或负载等用。 不锈钢电阻用氧化镁粉将电阻固定在不锈钢管里面,外置不锈钢散热片。铝壳电阻铝壳电阻,外壳采用铝合金(黄...

2021-05-18 15:41:10 277 1

原创 CAN

CAN是控制器局域网络(Controller Area Network, CAN)的简称,是一种能够实现分布式实时控制的串行通信网络。差分传输增加噪声抗扰度,减少噪声辐射,通信距离最远到10km。 传输速度最高到1Mbps。 无损位仲裁机制,对子系统的故障和电磁干扰具有很强的鲁棒性。 多主结构,每个节点包含一个用于CAN总线收发芯片,随意添加CAN总线节点。 可以通过id对消息进行优先级排序,以便最高优先级的id不被中断。CAN总线网络主要挂在CAN_H和CAN_L,各个节点通过这两条线.

2021-05-18 11:43:00 122

原创 RS-485

RS-485仅是一个电气标准,描述了接口的物理层,像协议、时序、串行或并行数据以及链路全部由设计者或更高层协议定义。RS-485定义的是使用平衡(也称作差分)多点传输线的驱动器(driver)和接收器(receiver)的电气特性。差分传输增加噪声抗扰度,减少噪声辐射 长距离链路,最长可达4000英尺(约1219米) 数据速率高达10Mbps(40英寸内,约12.2米) 同一总线可以连接多个驱动器和接收器 宽共模范围允许驱动器和接收器之间存在地电位差异,允许最大共模电压-7-12V信号..

2021-05-16 23:10:53 543

原创 RS232

RS-232是现在主流的串行通信接口之一:  (1)接口的信号电平值较高,易损坏接口电路的芯片。RS232接口任何一条信号线的电压均为负逻辑关系。即:逻辑“1”为-5—-15V;逻辑“0”:+5—+15V,噪声容限为2V。即要求接收器能识别高于+3V的信号作为逻辑“0”,低于-3V的信号作为逻辑“1”,TTL电平为5V为逻辑正,0为逻辑负。与TTL电平不兼容故需使用电平转换电路方能与TTL电路连接。  (2)RS-232规定的标准传送速率有50b/s、75b/s、110b/s、150b/s、300b

2021-05-13 10:29:24 1500

原创 STM32最小系统

电源供应VDD 芯片的数字工作电压(不使用ADC:2.0V ~ 3.6V 使用ADC:2.4V ~ 3.6V) VSS 芯片的数字公共接地 VDDA 芯片的模拟工作电压 VSSA 芯片的模拟公共接地 VREF+ ADC基准参考电压(2.0V ~ VDDA) VREF- 模拟基准参考电压(必须接VSSA) VBAT 备用电池(RTC和备用寄存器)(1.8V ~ 3.6V) V...

2021-05-11 23:57:04 1654 5

原创 Altium Designer之Preferences

SchematicGeneral1.Break Wires At Autojumctions:交叉点切断平行线,切断之后两边可以单独选中进行编辑。2.Optimize wires & Buses:防止不必要的导线、总线覆盖在其它导线或总线上,若有覆盖,系统会自动移除。3.Components cut wires:当把元件放于一条导线上时,导线会自动分成两段,并两端与该元件连接起来。(勾选“optimize wires&buses”之后才能勾选)4.Enable I

2021-05-04 20:29:06 972

原创 USB枚举

USB设备枚举一般会经过插入、供电、初始化、分配地址,配置,获取设备描述符、获取配置描述符、获取字符串描述符和配去置设备这么几个过程。

2021-03-30 09:35:41 486 2

原创 USB描述符

2 USB CDC类基础理论知识介绍2.1 USB CDC类、USB2.0标准与PSTN之间的关系CDC(Communication Device Class)类是USB2.0标准下的一个子类,定义了通信相关设备的抽象集合。它与USB2.0标准以及其下的子类的相互关系如下图所示:图 1 USB2.0标准、CDC、PSTN之间的关系如上图,USB2.0标准下定义了很多子类,有音频类,CDC类,HID,打印,大容量存储类,HUB,智能卡等等,这些在urb.org官网上有具体的定义,这里我们主要讲的是通信类

2021-03-29 17:16:33 874 1

原创 USB数据传输

帧在USB系统中,正常状态下根集线器或集线器会一直周期性地发送SOF包,高速USB 总线的帧周期为125us,全速以及低速 USB 总线的帧周期为 1ms。如果USB线上一直处于空闲(Idle)状态超过3ms,设备应该把它当作一个挂起(Suspended)信号,要求设备在10ms内进入挂起状态,并把设备所需的电流大小降到规定的值。设备处于挂起状态时,任何总线上的活动(非空闲信号)都可以把设备唤醒/恢复,从而退出低功耗模式。主机需要继续周期性地发送SOF包,否则设备又将进入suspend。..

2021-03-23 12:18:58 2919

原创 USB电气特性

USB版本和速度USB 1.0 【理论最大传输速率】1.5Mbps(192KB/s)低速(Low-Speed)USB 1.1【理论最大传输速率】12Mbps(1.5MB/s)全速(Full-Speed)USB 2.0【理论最大传输速率】480Mbps(60MB/s)高速(High-Speed)【USB 3.0】USB 3.2Gen 1【理论最大传输速率】5Gbps 超高速(Super-Speed)【USB 3.1】USB 3.2Gen 2【理论最大传输速率】10Gbps超高速+(...

2021-03-22 16:57:20 818

原创 FatFs源码分析

#include "ff.h"#include "diskio.h"/* 扩展字符范围 */#define _DF1S 0x81#define _DF1E 0xFE#define _DS1S 0x40#define _DS1E 0x7E#define _DS2S 0x80#define _DS2E 0xFE/* 字符类型相关宏定义 */#define IsUpper(c) (((c)>='A')&&((c)<='Z'))#define IsLower(.

2021-03-11 18:20:22 1039

原创 FatFs简介

分区可以对一个存储设备进行分区也可以不分区,并且可以在每个分区上构建一个文件系统。不分区的时候,整个存储空间中只有一个分区分区的时候,存储设备中需要有主引导记录(Master Boot Record,缩写:MBR)对存储空间进行分区管理,MBR放在存储空间的第一个扇区中(1) 第1-446字节:引导代码。(2) 第447-510字节:分区表(Partition table)。(3) 第511-512字节:主引导记录签名(0x55和0xAA)。分区表上有四项,每..

2021-03-11 12:03:01 2259

fastboot驱动和工具

windows平台下的fastboot驱动和工具,用于在uboot下烧录各种镜像到存储器中。

2018-12-25

dnw_for_linux

dnw是linux环境下使用usb启动三星arm处理器时的配套工具。

2018-07-17

modbus源码

modbus文档、freemodbus移植模板、linux插件freemodbus、freemodbus源码注释

2018-06-28

CANOpen资料

CANOpen源代码注释、协议资料和ppt、主站移植模板、从站移植模板。

2018-03-25

C语言ntp协议

c语言udp实现

2017-04-19

经纬度计算日出日落时间

C语言,根据经纬度计算日出、日落、天黑、天亮时间

2017-04-17

C语言ntp协议获取网络时间

2017-04-12

经纬度计算日出日落时间(C语言)

2017-04-12

空空如也

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

TA关注的人

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