完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我用的屏幕是普通的1.8寸TFT屏幕,使用SPI传输数据正常,spi显示图片也没有问题,我想使用DMA+SPI去发送图片,结果导致成了这个样子,SPI和DMA设置的数据长度都是八位,图片是16位BMP 128*160 ,数组大小为【40960】,请问可能是什么错误啊?这是原图,这是使用SPI正常显示效果 |
|
相关推荐
4个回答
|
|
想办法把发出去的数据看一下就明白了,看看有没有啥手段
|
|
|
|
问题已解决,由于图片数据是16位的且低位在前,DMA设置的是8位,导致显示错误,只需把图片数据改为16位的高位位在前即可。但是我又遇到了新的问题,发送图片后,使用SPI发送数据会导致都无法正常显示,会乱码闪屏
|
|
|
|
把速度降低一点,用逻辑分析仪抓一个包的数据,看看是否跟你用非DMA的数据是否一样。这样就可以找到问题的所在。
|
|
|
|
很抱歉,无法直接分析和确定问题的原因。有关STM32使用HAL库的SPI+DMA发送数据导致TFT屏幕图片显示错误的问题,可能有多种原因。
首先,请确保您的SPI和DMA配置正确。确保数据长度和位序设置正确,以及传输速度和时钟设置正确。您可以参考相关的STM32参考手册和HAL库的文档来确认您的配置是否正确。 其次,可能是您的DMA缓冲区设置不正确导致数据传输错误。请确保DMA缓冲区地址和大小设置正确,并且能够正确地存储和传输数据。 另外,也有可能是您的TFT屏幕驱动程序有问题,无法正确解析16位的BMP图片数据。请检查您的屏幕驱动程序,确保能够正确地解析和显示16位的BMP图片数据。 最后,您可以尝试减小图片的大小,先测试较小的图片,以确认问题是否与图片大小有关。如果较小的图片可以正常显示,那么可能是您的DMA和SPI的设置不支持较大的数据传输。 如果您仍然无法解决问题,建议您仔细检查您的代码和配置,确保没有其他问题。您还可以查找相关的STM32社区或william hill官网 ,咨询其他开发者是否遇到过类似的问题,或者直接向STM32的技术支持团队寻求帮助。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
《DNESP32S3使用指南-IDF版_V1.6》第三十章 DHT11数字温湿度传感器
122 浏览 0 评论
565 浏览 0 评论
【敏矽微ME32G070开发板免费体验】之原厂2812测试例程解析
772 浏览 0 评论
948 浏览 2 评论
《DNESP32S3使用指南-IDF版_V1.6》第二十六章 INFRARED_RECEPTION实验
658 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12041 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-26 22:17 , Processed in 0.685889 second(s), Total 77, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (威廉希尔官方网站 图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号