标题: PC通过串口传输图片到STM32 [打印本页]

作者: Zzwh    时间: 2022-8-20 11:42
标题: PC通过串口传输图片到STM32
想实现PC通过串口传输BMP图片到STM32,再存到外部存储中,TFT屏显示。如何实现这种可以方便以后 更新图片 的效果??
求具体思路或案例,谢谢大佬们

作者: XLinliY.Zhang    时间: 2022-8-20 19:02
发个帧头,让32知道取模后的图片有多大,接着开启DMA直接怼进外部储存去就行了
作者: 地球    时间: 2022-8-20 20:34
通过串口可能有点慢吧,实时性可能没办法保证。不过如果图片压缩到够小应该勉强可以。
作者: frank_tw    时间: 2022-8-21 18:24
串口传输BMP图片到STM32存到外部SPI FLASH,从SPI FLASH回读到TFT屏显示,两者独立.
作者: Zzwh    时间: 2022-8-22 11:21
frank_tw 发表于 2022-8-21 18:24
串口传输BMP图片到STM32存到外部SPI FLASH,从SPI FLASH回读到TFT屏显示,两者独立.

串口传输BMP图片到STM32存到外部SPI FLASH,这个我不知道怎么去操作?
作者: yzwzfyz    时间: 2022-8-22 15:22
1、把图片看成是一串二进制数,只不过数据长度长一些而矣,没有什么特别的。
2、收到数据后,依序存入于某个内存中,也没有什么特别的地方。
3、从内存中取出数据,更是基本的作业。
作者: Zzwh    时间: 2022-8-23 17:09
yzwzfyz 发表于 2022-8-22 15:22
1、把图片看成是一串二进制数,只不过数据长度长一些而矣,没有什么特别的。
2、收到数据后,依序存入于某 ...

请问大佬,第一点,图片需要怎么处理后再传输?
作者: fuyou    时间: 2022-8-23 23:29
说一个思路:把keil下载外部SPI flash的算法改一改,直接下载到外部flash。图片文件可以用FCARM转成数组,再通过__attribute__(at指定数组地址为外部flash。
作者: munuc_w    时间: 2022-8-24 17:25
确定好图片的数据格式(888,555I,565)后,把图片转成十六进制数,其实就是一个数组,有现成的转换软件。有了这个数组剩下的就简单了。
作者: Hephaestus    时间: 2022-8-24 18:16
地球 发表于 2022-8-20 20:34
通过串口可能有点慢吧,实时性可能没办法保证。不过如果图片压缩到够小应该勉强可以。

单片机资源太小,图片解压缩算法需要多少RAM你心里根本就没有数。只能传BMP格式的。
作者: Zzwh    时间: 2022-8-25 11:11
munuc_w 发表于 2022-8-24 17:25
确定好图片的数据格式(888,555I,565)后,把图片转成十六进制数,其实就是一个数组,有现成的转换软件。 ...

图片已经转成数组了,如何传输进去?
作者: munuc_w    时间: 2022-8-25 17:24
Zzwh 发表于 2022-8-25 11:11
图片已经转成数组了,如何传输进去?

在PC上可以按文件传,也可以按数据传,这个需要下位机程序的配合。
作者: frank_tw    时间: 2022-8-28 09:58
1)请参考STM32 UART接收
2)请参考SPI Read/Write
Example:
SPI_FLASH_WriteEnable();
//wait finish..
CS_LOW(),
SectorErase(Add);
PageProgram(Address,Data);
WriteData(...);
CS_HI();
3)将UART接收Data写入SPI Flash.






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1