4. 自定义画面

本章节主要介绍了K2000的自定义画面教程。

4.1. 编写函数原型

  • 根据需求用c编写好函数原型。

  • 以下例子均为自定义填充画面:

'''
* 描述 : 填充自定义画面
* 参数
    * (*fp)(int tem): 函数接口传入
    * r : RGB颜色
    * g : RGB颜色
    * b : RGB颜色

* 返回  : 无

void Img_Full(void (*fp)(int tem),unsigned char r, unsigned char g, unsigned char b)
{
    unsigned int i, j;
    unsigned int pix;
    int Y_Size = 2560;      //分辨率Y:根据屏幕实际参数自行修改
    int X_Size = 1600;      //分辨率X:根据屏幕实际参数自行修改
    pix = (r<<16)|(g<<8)|b;

    for(j=0;j<Y_Size;j++)
    {
        for(i=0;i<X_Size;i++)
        {
            fp(pix);        //外部依赖函数
        }
    }
}

4.2. 生成函数码

  • 需要借助xxx工具

  • 为xxx工具提供MDK_Keil软件解析器路径(默认路径 : 当前电脑安装的路径\ARM\ARMCC\bin)。

../../_images/Frame1.png
  • 把编写好的函数原型复制到自定义画面代码输入框,点击编译按钮,查看结果,若结果红框中0 errors即为成功。

../../_images/Frame2.png
  • 打开xxx工具目录下SkyCode_New_Image文件夹里面的Generate_Code_New.txt文件,里面有个函数名+SData的数组即为对应函数码。如下图所视。

../../_images/Frame3.png

4.3. 执行自定义画面写入

  • 自定义画面 SHARP_Img_custom(fun,*arg) 该函数位于 sharp_img 模块中。

    fun 自定义函数列表

    *arg 自定义函数参数

  • 自定义画面写入。

from mp_img import *

#转换后的数据
Img_full_SData = [0x2d, 0xe9, 0xf0, 0x47, 0x80, 0x46, 0x08, 0x04, 0x40, 0xea, 0x02, 0x20, 0x00, 0x25, 0x4f, 0xf4, 0x20, 0x67, 0x4f, 0xf4, 0xc8, 0x66, 0x40, 0xea, 0x03, 0x09, 0x00, 0x24, 0x03, 0xe0, 0x41, 0x46, 0x48, 0x46, 0x88, 0x47, 0x64, 0x1c, 0xb4, 0x42, 0xf9, 0xd3, 0x6d, 0x1c, 0xbd, 0x42, 0xf4, 0xd3, 0xbd, 0xe8, 0xf0, 0x87]

Img_custom(Img_full_SData,SHARP_GPU_WrRGB,255,255,255)