Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
DMA
SPI
有没有大佬给个rtthread的spi框架使用dma的例程啊
发布于 2024-02-04 14:40:16 浏览:593
订阅该版
潘多拉开发板L496,用spi3驱动LCD跑lvgl,帧率不理想,想尝试使用DMA,但是找了文档没有关于DMA的使用,看了博客,在board.h添加了以下配置. ```c #define BSP_USING_SPI3 #define BSP_SPI3_TX_USING_DMA #define SPI3_TX_DMA_RCC RCC_AHB1ENR_DMA2EN #define SPI3_TX_DMA_INSTANCE DMA2_Channel2 #define SPI3_TX_DMA_REQUEST DMA_REQUEST_3 #define SPI3_TX_DMA_IRQ DMA2_Channel2_IRQn #define SPI3_TX_DMA_CONFIG \ { \ .dma_rcc = SPI3_TX_DMA_RCC, \ .Instance = SPI3_TX_DMA_INSTANCE, \ .request = SPI3_TX_DMA_REQUEST, \ .dma_irq = SPI3_TX_DMA_IRQ, \ } ``` 结果屏幕不能刷新了 注释掉dma之后就是普通spi正常刷新。 刷屏函数如下: ```c lv_disp_drv_t * p_disp_drv; static void disp_flush(lv_disp_drv_t * disp_drv, const lv_area_t * area, lv_color_t * color_p) { if(disp_flush_enabled) { /*The most simple case (but also the slowest) to put all pixels to the screen one-by-one*/ #if 0 //使用打点函数刷屏,这会特别特别慢,出现拉窗帘效果,因为每个点都单独执行一次打点函数,重新指定打点偏移地址的几个指令的然后发送颜色。 // int32_t x; // int32_t y; // for(y = area->y1; y <= area->y2; y++) { // for(x = area->x1; x <= area->x2; x++) { // /*Put a pixel to the display. For example:*/ // // /*put_px(x, y, *color_p)*/ // lcd_draw_point_color(x, y, *color_p); // // // color_p++; // } // } #endif //以下是使用spi批量传输颜色数据,只需要在一开始设定好偏移点之后直接发送一个区域的颜色数据 p_disp_drv=disp_drv; uint32_t size = 2*(area->x2 - area->x1+1 ) * (area->y2 - area->y1+1 ); uint8_t *data = (uint8_t *)color_p; lcd_address_set(area->x1,area->y1,area->x2,area->y2); rt_pin_write(LCD_DC_PIN, PIN_HIGH); #if 1 rt_spi_send(spi_dev_lcd, data, size); #endif } /*IMPORTANT!!! *Inform the graphics library that you are ready with the flushing*/ lv_disp_flush_ready(disp_drv); } ``` 没找到哪个函数接口是特指使用dma发送的,以及对应的dma中断发送完成的回调函数。 所以是不是rtthread这个spi的dma根本还不能使用,只能回到stm32的HAL自己调用?
查看更多
1
个回答
默认排序
按发布时间排序
全力以赴
2024-11-11
这家伙很懒,什么也没写!
哥们,问题解决了吗,我也遇到和你一样的问题,屏幕刷新像拉窗帘一样
撰写答案
登录
注册新账号
关注者
0
被浏览
593
关于作者
AGeek
这家伙很懒,什么也没写!
提问
2
回答
0
被采纳
0
关注TA
发私信
相关问题
1
BBB的SPI驱动
2
求个SPI上挂两个或多个设备的使用例子
3
SPI设备有个bug
4
spi flash 的fatfs使用一段时间后读写文件出现故障
5
SPI驱动
6
请教rt_spi_configure函数理解
7
SPI FLASH挂载的问题
8
SPI-FLASH 文件系统 SPIFFS
9
求助一个完整的 spi flash 驱动
10
关于同时使用文件系统与SPI FLASH的问题
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
组件 lwip v2.0.3 版本使用 netdev网卡的 ping 功能
2
简单两步配置RTT源码阅读环境 vsc+clangd
3
恩智浦[FRDM-MCXN947]初探 之 ADC与DAC
4
LVGL使用字库IC芯片显示中文
5
基于STM32H750和Rt-Thread的CANFD通信实现的记录(一)
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
线程
RT-Thread Nano
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
UART
WIZnet_W5500
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
编译报错
Debug
SFUD
msh
rt_mq_消息队列_msg_queue
keil_MDK
ulog
C++_cpp
MicroPython
本月问答贡献
出出啊
1517
个答案
342
次被采纳
小小李sunny
1443
个答案
289
次被采纳
张世争
807
个答案
174
次被采纳
crystal266
547
个答案
161
次被采纳
whj467467222
1222
个答案
148
次被采纳
本月文章贡献
出出啊
1
篇文章
4
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
1
次点赞
crystal266
2
篇文章
1
次点赞
whj467467222
2
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部