找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2440|回復: 12
收起左側

PC通過串口傳輸圖片到STM32

[復制鏈接]
ID:963748 發(fā)表于 2022-8-20 11:42 | 顯示全部樓層 |閱讀模式
想實現(xiàn)PC通過串口傳輸BMP圖片到STM32,再存到外部存儲中,TFT屏顯示。如何實現(xiàn)這種可以方便以后 更新圖片 的效果??
求具體思路或案例,謝謝大佬們
回復

使用道具 舉報

ID:771630 發(fā)表于 2022-8-20 19:02 | 顯示全部樓層
發(fā)個幀頭,讓32知道取模后的圖片有多大,接著開啟DMA直接懟進外部儲存去就行了
回復

使用道具 舉報

ID:441351 發(fā)表于 2022-8-20 20:34 來自觸屏版 | 顯示全部樓層
通過串口可能有點慢吧,實時性可能沒辦法保證。不過如果圖片壓縮到夠小應該勉強可以。
回復

使用道具 舉報

ID:434018 發(fā)表于 2022-8-21 18:24 | 顯示全部樓層
串口傳輸BMP圖片到STM32存到外部SPI FLASH,從SPI FLASH回讀到TFT屏顯示,兩者獨立.
回復

使用道具 舉報

ID:963748 發(fā)表于 2022-8-22 11:21 | 顯示全部樓層
frank_tw 發(fā)表于 2022-8-21 18:24
串口傳輸BMP圖片到STM32存到外部SPI FLASH,從SPI FLASH回讀到TFT屏顯示,兩者獨立.

串口傳輸BMP圖片到STM32存到外部SPI FLASH,這個我不知道怎么去操作?
回復

使用道具 舉報

ID:123289 發(fā)表于 2022-8-22 15:22 | 顯示全部樓層
1、把圖片看成是一串二進制數(shù),只不過數(shù)據(jù)長度長一些而矣,沒有什么特別的。
2、收到數(shù)據(jù)后,依序存入于某個內(nèi)存中,也沒有什么特別的地方。
3、從內(nèi)存中取出數(shù)據(jù),更是基本的作業(yè)。
回復

使用道具 舉報

ID:963748 發(fā)表于 2022-8-23 17:09 | 顯示全部樓層
yzwzfyz 發(fā)表于 2022-8-22 15:22
1、把圖片看成是一串二進制數(shù),只不過數(shù)據(jù)長度長一些而矣,沒有什么特別的。
2、收到數(shù)據(jù)后,依序存入于某 ...

請問大佬,第一點,圖片需要怎么處理后再傳輸?
回復

使用道具 舉報

ID:278231 發(fā)表于 2022-8-23 23:29 | 顯示全部樓層
說一個思路:把keil下載外部SPI flash的算法改一改,直接下載到外部flash。圖片文件可以用FCARM轉成數(shù)組,再通過__attribute__(at指定數(shù)組地址為外部flash。
回復

使用道具 舉報

ID:752974 發(fā)表于 2022-8-24 17:25 | 顯示全部樓層
確定好圖片的數(shù)據(jù)格式(888,555I,565)后,把圖片轉成十六進制數(shù),其實就是一個數(shù)組,有現(xiàn)成的轉換軟件。有了這個數(shù)組剩下的就簡單了。
回復

使用道具 舉報

ID:883242 發(fā)表于 2022-8-24 18:16 | 顯示全部樓層
地球 發(fā)表于 2022-8-20 20:34
通過串口可能有點慢吧,實時性可能沒辦法保證。不過如果圖片壓縮到夠小應該勉強可以。

單片機資源太小,圖片解壓縮算法需要多少RAM你心里根本就沒有數(shù)。只能傳BMP格式的。
回復

使用道具 舉報

ID:963748 發(fā)表于 2022-8-25 11:11 | 顯示全部樓層
munuc_w 發(fā)表于 2022-8-24 17:25
確定好圖片的數(shù)據(jù)格式(888,555I,565)后,把圖片轉成十六進制數(shù),其實就是一個數(shù)組,有現(xiàn)成的轉換軟件。 ...

圖片已經(jīng)轉成數(shù)組了,如何傳輸進去?
回復

使用道具 舉報

ID:752974 發(fā)表于 2022-8-25 17:24 | 顯示全部樓層
Zzwh 發(fā)表于 2022-8-25 11:11
圖片已經(jīng)轉成數(shù)組了,如何傳輸進去?

在PC上可以按文件傳,也可以按數(shù)據(jù)傳,這個需要下位機程序的配合。
回復

使用道具 舉報

ID:434018 發(fā)表于 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.

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表