您尚未登录。

楼主 # 2021-11-19 14:59:49

smiletiger
会员
注册时间: 2021-07-28
已发帖子: 118
积分: 29

请问裸机f1c100s+lvgl可以屏幕旋转90°吗

请问裸机f1c100s+lvgl可以屏幕旋转90°吗,我限制已经实现了lvgl裸机了,屏幕分辨率是1280*720,但是屏幕是竖屏,不知道怎么样才可以改成横屏,屏幕的驱动器本身不支持90°旋转,,lvgl用的是6.1 ,

离线

楼主 #4 2021-11-21 02:12:56

smiletiger
会员
注册时间: 2021-07-28
已发帖子: 118
积分: 29

Re: 请问裸机f1c100s+lvgl可以屏幕旋转90°吗

请问有lvgl8.0+rtt的f1c200s历程吗,我一直搞不定,一直报错 6.1.1已经跑通了

8.0出错如下

 \ | /
- RT -     Thread Operating System
 / | \     4.0.1 build Nov 21 2021
 2006 - 2019 Copyright by rt-thread team
[SFUD] Find a Winbond flash chip. Size is 16777216 bytes.
[SFUD] gd25qxx flash device is initialize success.
Start...
PERIPH_get_pll_clk:600M
CPU_get_clk:704M
AHB_get_clk:200M
APB_get_clk:100M


[2021-11-21 02:10:23.319]# RECV ASCII>
[Thread]Uart2Rec Created.
[Thread]VirCursor Created.
msh />[Thread]GUIThread Created.
lv_example_switch_1
thrd_LVGL_Loop1
Execption:
r00:0x4046af5a r01:0xe9ec686c r02:0x804bd2dc r03:0x00000000
r04:0x800b0a5c r05:0x800b0368 r06:0x000001df r07:0x000001e0
r08:0x00000000 r09:0x00000000 r10:0x8080393c
fp :0x000001e0 ip :0x000000cd
sp :0x80000594 lr :0x804bd75c pc :0x804bd75c
cpsr:0xa0000013
undefined instruction
thread - GUI_Lvgl stack:
thread   pri  status      sp     stack size max used left tick  error
-------- ---  ------- ---------- ----------  ------  ---------- ---
GUI_Lvgl  11  ready   0x00000044 0x00001000    07%   0x00000012 000
VirCurso  29  suspend 0x0000008c 0x00000800    06%   0x00000014 000
Uart2Rec  10  suspend 0x000000ac 0x00000800    08%   0x00000014 000
tshell    20  suspend 0x00000134 0x00001000    07%   0x0000000a 000
mmcsd_de  22  suspend 0x000000c8 0x00000800    09%   0x00000014 000
tidle0    31  ready   0x00000050 0x00000100    46%   0x0000000e 000
main      10  close

[2021-11-21 02:10:23.380]# RECV ASCII>
   0x00000060 0x00000800    26%   0x00000007 000
shutdown...

出错代码在这个地方

 while (1)
    {
    rt_kprintf("thrd_LVGL_Loop1\n");
        lv_task_handler();
        rt_thread_delay(5);
		rt_kprintf("thrd_LVGL_Loop2\n");
    }
}

""lv_task_handler();""进入到这里就死了,跟踪进去,是在这个地方死机的

 do {
        timer_deleted             = false;
        timer_created             = false;
        LV_GC_ROOT(_lv_timer_act) = _lv_ll_get_head(&LV_GC_ROOT(_lv_timer_ll));
        while(LV_GC_ROOT(_lv_timer_act)) {
            /*The timer might be deleted if it runs only once ('repeat_count = 1')
             *So get next element until the current is surely valid*/
            next = _lv_ll_get_next(&LV_GC_ROOT(_lv_timer_ll), LV_GC_ROOT(_lv_timer_act));

            if(lv_timer_exec(LV_GC_ROOT(_lv_timer_act))) {
                /*If a timer was created or deleted then this or the next item might be corrupted*/
                if(timer_created || timer_deleted) {
                    TIMER_TRACE("Start from the first timer again because a timer was created or deleted");
                    break;
                }
            }

            LV_GC_ROOT(_lv_timer_act) = next; /*Load the next timer*/
        }

这里 if(lv_timer_exec(LV_GC_ROOT(_lv_timer_act)))没返回死机了

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn