找回密码
 立即注册
搜索
热搜: RA8889 RA8876 RA8875
查看: 139|回复: 6

請教一下RA8871M透過DMA去SFI_0抓取圖檔來顯示的問題

[复制链接]

1

主题

3

回帖

33

积分

新手上路

积分
33
发表于 2026-2-23 15:37:06 | 显示全部楼层 |阅读模式
各位先進,小弟使用的是RA8871M,從API的DEMO CODE來看只有void DMA_24bit(unsigned char SCS, unsigned char Clk, unsigned short X1, unsigned short Y1, unsigned short X_W, unsigned short Y_H, unsigned short P_W, unsigned long Addr)和void DMA_32bit(unsigned char SCS, unsigned char Clk, unsigned short X1, unsigned short Y1, unsigned short X_W, unsigned short Y_H, unsigned short P_W, unsigned long Addr),兩種格式可用,若圖檔是16bit或18bit有解嗎?

75

主题

41

回帖

1462

积分

管理员

积分
1462
QQ
发表于 2026-2-23 20:58:04 | 显示全部楼层
您好!DMA_24bit/32bit是针对FLASH的寻址区分,大于128Mb需要使用32bit来寻址。

图片是16bpp或者18bpp,与液晶屏初始化设置相关,二者若不一致会导致图片显示异常。

1

主题

3

回帖

33

积分

新手上路

积分
33
 楼主| 发表于 2026-3-2 11:43:24 | 显示全部楼层
BWSU 发表于 2026-2-23 20:58
您好!DMA_24bit/32bit是针对FLASH的寻址区分,大于128Mb需要使用32bit来寻址。

图片是16bpp或者18bpp,与 ...

萬分感謝,已可透過DMA_24bit抓取圖檔來顯示,再請教RA8871M有無與RA8875的"SACS_MODE REG [E0h] Serial Flash/ROM Direct Access Mode"可以直接讀取SPI Flash資料的功能,因Flash內的圖檔有版本管理的需求存在,謝謝。

75

主题

41

回帖

1462

积分

管理员

积分
1462
QQ
发表于 2026-3-2 18:56:24 | 显示全部楼层
akira 发表于 2026-3-2 11:43
萬分感謝,已可透過DMA_24bit抓取圖檔來顯示,再請教RA8871M有無與RA8875的"SACS_MODE REG [E0h] Serial  ...


读写FLASH参考代码:
RA8889_RW_FLASH.7z (2.88 KB, 下载次数: 1)

1

主题

3

回帖

33

积分

新手上路

积分
33
 楼主| 发表于 2026-3-4 16:43:32 | 显示全部楼层
BWSU 发表于 2026-3-2 18:56
读写FLASH参考代码:

感謝,已可以任意讀取外掛在RA8871M上的Flash指定位址的內容了。
但目前有試到一個功能,因需旋轉LCM面板來符合機構設計,但"REG[02h] Memory Access Control Register (MACR)"中的"Host Write Memory Direction (Only for Graphic Mode)"其Rotate right 90˚與 Horizontal flip都沒作用,不知道要如何使其生效,再請協助處理,謝謝。

75

主题

41

回帖

1462

积分

管理员

积分
1462
QQ
发表于 2026-3-6 22:42:46 | 显示全部楼层
akira 发表于 2026-3-4 16:43
感謝,已可以任意讀取外掛在RA8871M上的Flash指定位址的內容了。
但目前有試到一個功能,因需旋轉LCM面板 ...


请下载原厂提供的API,在其基础上运行以下代码:
  1. VSCAN_B_to_T();        //[12h] bit3=1液晶扫描方向:从下至上。后续xy坐标、宽高全部需要互换。
  2.         MemWrite_Top_Down_Left_Right();                //向右旋转90度+水平镜像
  3.         MPU8_16bpp_Memory_Write (250,28,128,128,gImage_16);                //xy坐标对调,第1个参数为y,第2个参数为x

  4.         Font_90_degree();        //字库旋转90°
  5.         Select_Font_Height_WxN_HxN_ChromaKey_Alignment(24,1,1,1,0);
  6.         Print_Internal_Font_String(20,20,200,440,color65k_black,0x07e0, "The panel resolution is 800x480. It used here as 480 x800 by left-rotation in 90 degree.");
复制代码


不过旋转在RA8871上不太好用,有些功能受限,测试评估看看。
如果不满足,再考虑RA8889, 又或者是RA6809,这两颗可4个方向旋转。

1

主题

3

回帖

33

积分

新手上路

积分
33
 楼主| 发表于 6 天前 | 显示全部楼层
BWSU 发表于 2026-3-6 22:42
请下载原厂提供的API,在其基础上运行以下代码:

還是不行,VSCAN_B_to_T();有作用,但MemWrite_Top_Down_Left_Right();這個指令根本沒有作用,
不過還是謝謝您的協助,還好LCM的驅動IC有內建旋轉的功能,基本上問題算是解決了,
只是要用RA8871的話,旋轉的功能算是擺設了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|Lcdvision Technology ( 苏ICP备10203891号 )

GMT+8, 2026-3-16 04:40 , Processed in 0.069113 second(s), 26 queries .

快速回复 返回顶部 返回列表