V853-pro开发板4寸屏,运行framebuffer的应用程序,显示不正常

基于100ask的SDK,在4寸屏上运行网盘例程
06_应用例程\01_Framebuffer
下面的应用。
使用下面的命令交叉编译,
arm-openwrt-linux-muslgnueabi-gcc -o show_ascii show_ascii.c
出不来相应的效果。

这些例程跑着其他开发板上,都没问题。

请提供更多的信息,如运行应用的打印信息和运行显示屏信息。


log显示是正常的,就是屏幕没有显示。
比如运行show_ascii ,正常应该屏幕中央显示 A ,但是屏幕显示是黑的。
完全按照手册上的步骤编译的。

  1. export STAGING_DIR=~/tina-v853-open/prebuilt/rootfsbuilt/arm/toolchain-
    sunxi-musl-gcc-830/toolchain/arm-openwrt-linux-muslgnueabi
  2. ~/tina-v853-
    open/prebuilt/rootfsbuilt/arm/toolchain-sunxi-musl-gcc-
    830/toolchain/bin/arm-openwrt-linux-gcc -o show_ascii show_ascii.c
  3. 放到开发板上运行。

确认镜像是否适配好MIPI屏幕,可由系统内置的lvgl demo测试

lvgl demo都正常。屏幕开机log显示也正常。

可否把show_ascii文件打包发出来,我这边测试一下呢?

show_ascii.zip (6.7 KB)

@100ASK_RKQ 你测试的结果怎么样?

我和你一样的问题,屏幕都没问题,就是字符显示不出来

您好,请您修改一下参数即可。我不知道您是否自行尝试修改过代码,当您自行尝试修改代码后即可查明原因

void lcd_put_ascii(int x, int y, unsigned char c)
{
	unsigned char *dots = (unsigned char *)&fontdata_8x16[c*16];
	int i, b;
	unsigned char byte;

	for (i = 0; i < 16; i++)
	{
		byte = dots[i];
		for (b = 7; b >= 0; b--)
		{
			if (byte & (1<<b))
			{
				/* show */
				lcd_put_pixel(x+7-b, y+i, 0xffffffff); /* 白 */
			}
			else
			{
				/* hide */
				lcd_put_pixel(x+7-b, y+i, 0); /* 黑 */
			}
		}
	}
}

全志V853和T113一样的情况, 对于全志V853 屏幕显示问题, 看了下面客服回复的消息之后发现,如果需要显示颜色的话,
需要且仅需要改动lcd_put_pixel函数的这一处, 该情况针对32位显示屏来讲, 其他的屏幕还没有尝试过!
原因我认为是全志的Tina SDK开发的颜色显示需要将最高八位置一才能显示颜色值, 否则默认不显示颜色!!!
image

2 Likes

关于视频开发; 只需要在对应的转换函数里将每个像素数据后面或上0xff000000
也可以自己写一个函数,针对全志V853和T113开发板的lcd屏显示图片或视频, 将像素颜色数据或上0xff000000;