您尚未登录。

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

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

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

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

离线

#1 2021-11-20 20:42:46

达克罗德
会员
注册时间: 2018-04-10
已发帖子: 1,138
积分: 1090.5

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

硬件不支持的话,可以在绘图驱动哪里软件改,无非是处理xy对应pixel的值

离线

#2 2021-11-20 20:48:55

aozima
会员
所在地: 深圳
注册时间: 2019-05-25
已发帖子: 462
积分: 329.5
个人网站

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

驱动里面自己旋转,这分辨率,估计要20ms。

离线

#3 2021-11-20 22:07:45

yelong98
会员
注册时间: 2020-06-03
已发帖子: 97
积分: 59.5

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

可以的,lvgl8里面有属性    lv_disp_drv_init(&disp_drv);
    disp_drv.sw_rotate = 1;
    disp_drv.rotated = LV_DISP_ROT_90;
初始化的时候定义一下角度就行了,非常简单

离线

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

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

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)))没返回死机了

离线

#5 2021-12-03 10:31:32

981378640
会员
注册时间: 2021-04-21
已发帖子: 3
积分: 13.5

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

@smiletiger
解决了吗?我也遇到了类似的问题?UI卡死了,我怀疑是这里导致的断言错误进入了死循环导致的


/*Add a custom handler when assert happens e.g. to restart the MCU*/
#define LV_ASSERT_HANDLER_INCLUDE   <stdint.h>
//#define LV_ASSERT_HANDLER  while(1);
#define LV_ASSERT_HANDLER   do{printf("[%s:%d] assert error\n",__FUNCTION__,__LINE__);}while(1);  /*Halt by default*/

这段代码在lv_conf.h中,注释的那行是原来的,下面的那行是我修改的,目前修改后的还在测试

最近编辑记录 981378640 (2021-12-03 10:31:53)

离线

#6 2021-12-03 16:17:53

642242855
会员
注册时间: 2019-10-31
已发帖子: 210
积分: 107

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

@981378640
6.几的版本升级8.几的,我以前也遇到过死机,后面改显示和触摸驱动注册那部分的变量全改为静态的就可以了,copy了很多大神的代码,我有RTT+LVGL8.0,文件系统,FREETYPR字体,png,gif解码这些都集合了的,需要可以留邮箱

离线

#7 2021-12-26 00:43:25

grantho
会员
注册时间: 2020-03-21
已发帖子: 68
积分: 4.5

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

现在也是,不知道怎么解决,旋转90度只能单缓存,而且很容易就卡死了

离线

#8 2021-12-27 00:10:01

talkingtoaster
会员
注册时间: 2021-12-16
已发帖子: 12
积分: 12

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

@642242855
您好,方便给一份吗,3453636314@qq.com

离线

#9 2022-01-19 00:45:10

endymoin
会员
注册时间: 2022-01-19
已发帖子: 3
积分: 3

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

lvgl6有没有接口可以直接旋转的?

离线

#10 2022-01-21 03:40:05

wang233
会员
注册时间: 2022-01-21
已发帖子: 7
积分: 32

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

@642242855
大佬,能方便给一份吗?
mc233@qq.com

离线

#11 2022-05-18 17:56:49

mhcsoft
会员
注册时间: 2022-04-18
已发帖子: 3
积分: 3

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

@642242855
大佬求一份
743393648@qq.com

离线

#12 2022-05-22 12:08:32

edawn
会员
注册时间: 2022-05-16
已发帖子: 3
积分: 3

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

yelong98 说:

可以的,lvgl8里面有属性    lv_disp_drv_init(&disp_drv);
    disp_drv.sw_rotate = 1;
    disp_drv.rotated = LV_DISP_ROT_90;
初始化的时候定义一下角度就行了,非常简单

学习了,谢谢。

离线

#13 2022-06-28 14:24:03

elecompu
会员
注册时间: 2019-02-25
已发帖子: 17
积分: 7

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

@642242855
能麻烦发我一份给我参考一下吗?编译完LVGL8.2,死的样子和上面的一样。

离线

#14 2022-06-28 17:02:08

dg
会员
注册时间: 2018-11-22
已发帖子: 38
积分: 91

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

@smiletiger
裸机请问你如何跟踪进去的?

离线

#15 2022-10-30 20:36:10

DEQ
会员
注册时间: 2022-02-22
已发帖子: 30
积分: 35

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

我现在用LVGL-latest的版本,也就是9.0.0的版本,也是死机!!!

\ | /
- RT -     Thread Operating System
/ | \     4.1.1 build Oct 30 2022 19:25:52
2006 - 2022 Copyright by RT-Thread team
clk_divider_set_rate 29491216 198000000 0clk_divider_set_rate 48 198000000 0periph_get_pll_clk:600000000
cpu_get_clk:408000000
ahb_get_clk:200000000
apb_get_clk:100000000
msh />not used
Execption:
r00:0x80551f84 r01:0x8058ae98 r02:0x00000005 r03:0x00000016
r04:0x805119d0 r05:0x8058aeb8 r06:0x8058ae90 r07:0x000001df
r08:0x00000000 r09:0x000001e0 r10:0x00000000
fp :0x000027d1 ip :0x000001c1
sp :0x8058ae4c lr :0x80037200 pc :0x80037200
cpsr:0x600000d3
shutdown...

哪个大神能看看是什么问题

离线

#16 2022-10-30 20:45:18

DEQ
会员
注册时间: 2022-02-22
已发帖子: 30
积分: 35

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

我用的是lichee nano+Thread 4.1.1 + LVGL-latest,跑 LVGL v7.7.1的版本都跑通了,上到LVGL-8.0以后就没跑通过

离线

#17 2022-10-30 21:24:53

DEQ
会员
注册时间: 2022-02-22
已发帖子: 30
积分: 35

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

@642242855
能麻烦发我一份给我参考一下吗?编译完LVGL9.0.0,死的样子和上面的一样。
312038951@qq.com

离线

#18 2023-06-04 09:41:32

fujiawei
会员
注册时间: 2022-10-12
已发帖子: 8
积分: 13

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

Lvgl8.2,一样的问题,大家有解决吗,709691151@qq.com

离线

#19 2023-06-05 11:41:22

tangloong
会员
注册时间: 2023-04-11
已发帖子: 212
积分: 191

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

fujiawei 说:

Lvgl8.2,一样的问题,大家有解决吗,709691151@qq.com

这里放开定义:启用竖屏
https://gitee.com/kasira/f1c200s_rtt_lvgl830/blob/master/applications/lv_conf.h

//#define LV_VERTICAL_DISPLAY  // 定义竖屏显示 但是软件转换影响性能 最好能找到竖屏

// 这里配置  sw_rotate 和 rotated
https://gitee.com/kasira/f1c200s_rtt_lvgl830/blob/master/applications/lv_port_disp.c
#if defined LV_VERTICAL_DISPLAY
    disp_drv.sw_rotate = 1;   // add for rotation
    disp_drv.rotated = LV_DISP_ROT_90;   // add for rotation
#endif

如果显示不全的话 使用 LV_DISP_ROT_270  这个可以显示全 或者修改 338行
if (area->x2 < 0 || area->y2 < 0 || area->x1 > hres - 1 || area->y1 > vres - 1){
         lv_disp_flush_ready(disp_drv);
         return;
}
将x y 调换一下

我是调成功了的

离线

#20 2023-06-05 19:21:40

jiabuda
会员
注册时间: 2023-06-05
已发帖子: 24
积分: 9

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

smiletiger 说:

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

请问您的是什么屏幕,如果是SPI协议的某些小屏,在初始化代码里面就可以修改的了

离线

页脚

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

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