- 博客(11)
- 资源 (1)
- 收藏
- 关注
原创 stm32cubeMX使用DMA2D加速显存数据传输
编译、运行,在串口助手可以看到使用CPU搬运数据到显存中,在-Og优化等级下单次清屏需要 155 ms左右,在-O0优化等级下单次清屏需要321ms左右。编译、下载,在串口助手中查看清屏一次所需时间,可以看到,刷屏一次只需31ms即可,并且在使用dma2d传输数据的情况下,数据传输时间和编译优化等级无关。在STM32中,DMA2D外设专门用来给LCD显示加速,有LTDC外设的型号中,通常也会配套有DMA2D。创建lcd_rgb_ltdc_drv.c文件,存放关于操作LCD屏幕的函数实现。
2023-06-26 17:00:13 618
原创 stm32cubemx配置SDRAM+LTDC点亮7寸(1024x600)RGB屏
LTDC全称 LCD-TFT Display Controller,LCD显示控制器,提供了RGB信号和控制信号来直接控制外部LCD显示屏。为什么是直接控制呢?
2023-06-26 16:21:04 5690 2
原创 stm32cubeMX配置stm32h743 SDRAM-学习总结
本文记录了如何使用stm32cubeMX配置stm32h743iit6的硬件FMC外设与与 SDRAM 通信(W9825G6KH)。具体比较深的内容不作介绍。
2023-06-25 14:31:22 4411 1
原创 STM32 串口DMA接收数据(高效接收数据)
极度不推荐在使用DMA的时候按照传统的方式进行重定义!!!非常简单,轮询方式整个CPU 在串口发送时处于等待状态,但是使用DMA时无法确保当前DMA已经传输完成。有同学可能会认为可以通过判断DMA的传输标志位来进行等待,但如果这样的话就丧失了DMA的设计意图:再次使用经过优化的重定义:找到usart.c这个c文件并打开:先在这个文件里面添加头文件:#include 和#include
2023-03-11 15:06:53 3032
原创 ARI-PI的SDRAM学习
虽然ART-Pi的主芯片STM32H750XBH6已经内部达到1MB的SRAM了,但是还是板载了一块32-Mbytes SDRAM芯片W9825G6KH。W9825G6KH有13条地址线,16条数据线。通过原理图可以看出:数据总线位宽使用了16bit:FMC D0 - FMC D15;地址总线位宽使用了13bit:FMC A0 - FMC A12;BANK选择信号线有两条:FMC BA0 和 FMC BA1;时钟使能信号使用FMC SDCKE0,片选信号使能使用FMC S...
2022-02-22 21:29:20 163
原创 2022-01-16 threadx之消息队列应用
实验使用的开发板是ART-PI,stm32h750芯片+threadx。创建信号量,实现两个任务之间同步。第一步:首先通过stm32cubeMX移植了threadx(参考第一篇文章)。第二步:创建消息队列。在int tx_application_define(VOID *first_unused_memory)里面创建消息队列。/* 创建消息队列1 */ tx_queue_create(&MessageQueues1, "Me
2022-01-16 22:11:26 419
原创 2022-01-16 threadx的事件集的应用
事件集的工作机制事件集也是线程间同步的机制之一,一个事件集可以包含多个事件,利用事件集可以完成一对多,多对多的线程间同步。1)事件只与线程相关,事件间相互独立:每个线程可拥有 32 个事件标志,采用一个 32 bit 无符号整型数进行记录,每一个 bit 代表一个事件;2)事件仅用于同步,不提供数据传输功能;第一步:首先通过stm32cubeMX移植了threadx(参考第一篇文章)。第二步:创建事件集。在int tx_application_define(VOID *first_
2022-01-16 19:33:28 197
原创 2022-01-16 threadx的互斥量的应用
本系列教程均基于ART-PI开发板为硬件平台。stm32h750芯片+threadx。互斥信号量的主要作用是对资源实现互斥访问,互斥量可以解决优先级翻转问题。第一步:首先通过stm32cubeMX移植了threadx(参考第一篇文章)。第二步:创建互斥量。在int tx_application_define(VOID *first_unused_memory)里面创建信号量。 UINT status;/* 创建互斥信号量 */ status=tx_mutex_creat
2022-01-16 17:41:29 2686
原创 2022-01-16 threadx的信号量的应用
实验使用的开发板是ART-PI,stm32h750芯片+threadx。第一步:首先通过stm32cubeMX移植了threadx(参考上一篇文章)。第二步:创建信号量。在int tx_application_define(VOID *first_unused_memory)里面创建信号量。//创建信号量 UINT status; status=tx_semaphore_create((TX_SEMAPHORE *) &Semaphore,"semaphore
2022-01-16 16:22:21 2808
原创 2022-01-16 threax点亮led灯+串口打印输出
实验是基于ART-PI开发板,stm32h750芯片+threadx实时系统。第一步:使用stm32cubeMX生成工程。1、配置时钟,为外部晶振时钟。2、配置led灯的gpio -PI8 ,PC15配置为输出第二步:添加threadx实时操作系统,因为stm32cubeMX已经集成了threadx,所以可以直接通过stm32cubeMX配置threadx。3、添加threadx(如果没有安装threax,点击manage software 安装threax)。滴答时钟改为100
2022-01-16 10:29:04 2349
RT-Thread编程指南.pdf
2020-01-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人