极品馒头泬19p,国产精品亚洲一区二区三区,狠狠色噜噜狠狠狠7777奇米,国产精品视频一区二区三区无码,国产欧美日韩久久久久

【E1026】戰(zhàn)艦移植STemWin V5.28

2021-09-11 09:14:02      索煒達電子      691     

硬件環(huán)境:戰(zhàn)艦開發(fā)板103

軟件環(huán)境:Freertos V8.2.3 + STemWin V5.28

資料主要來自網上,對程序作了一定優(yōu)化,應該看起來還比較順眼(ps:原子哥寫歷程的時候應該注意一下代碼規(guī)范哦)。STemWin 版本最多的還是5.22,這個5.28是從安富萊那邊直接拿來的。感覺5.28移植要比5.22要簡單。


一、GUI移植

1、  文件移植:官方下載到的是V5.2.2的,所以不折騰,直接拷貝工程里的文件(V5.2.8)。

2、  底層移植:

  參考官方提供的流程圖:

【E1026】戰(zhàn)艦移植STemWin V5.28

⑴    LCDConf.c

#define XSIZE_PHYS 480
#define YSIZE_PHYS 320
#define VXSIZE_PHYS 480
#define VYSIZE_PHYS 320
配置液晶的尺寸

⑵    GUIConf.c

配置GUI使用的內存

⑶    GUIConf.h

配置GUI的功能開關

⑷    GUIDRV_Template.c

配置畫點函數和讀點函數
優(yōu)化選項:配置畫橫(豎)線函數、畫彩色橫線函數、填充函數

⑸    MainTask.c

該文件里創(chuàng)建GUI線程,直接使用

⑹    注意:使用STemWin必須使能CRC

二、觸摸移植
沒啥好配置的,直接調用即可。
創(chuàng)建一個掃描線程:
GUI_PID_STATEState;
voidvTaskTaskKEY(void *pvParameters)
{   
    while(1)
    {
        tp_dev.scan(0);//掃觸摸,1ms

        if(tp_dev.sta&TP_PRES_DOWN) //觸摸屏被按下
              {      
                    if((tp_dev.x< lcddev.width) && (tp_dev.y < lcddev.height)) //限制范圍
                     {      
                State.x = tp_dev.x;
                State.y = tp_dev.y;
                State.Pressed = 1;
                GUI_PID_StoreState(&State);
                     }
              }
        else //觸摸屏釋放
        {
            State.x = -1;
            State.y = -1;
            State.Pressed = 0;
            GUI_PID_StoreState(&State);
        }

        vTaskDelay(1);
    }
}

如果仿真軟件編譯錯誤時,可以嘗試如下解決方案:

1.打開該項目的“屬性頁”對話框。

2.單擊“鏈接器”文件夾。

3.單擊“命令行”屬性頁。

4.將 /SAFESEH:NO 鍵入“其他選項”框中,然后點擊應用。

5.重新編輯就可以獲取仿真結果了。

目錄│文件列表:

 │ demo.zip

 │ 參考資料.zip

 └ 軟件.zip

TAGSTemWin
  • 2 次
  • 1 分