有不有GUIX的实体按键的例程?
如题。这个里面摄像头的例子,看DMCI中断的消息通知方式即可,实体按键也是用的这个方式。
https://www.armbbs.cn/forum.php?mod=viewthread&tid=98429&extra=page%3D1 eric2013 发表于 2024-4-5 10:00
这个里面摄像头的例子,看DMCI中断的消息通知方式即可,实体按键也是用的这个方式。
https://www.armbbs ...
GUIX, 屏幕上能不能分区域显示多个window?几个窗口分区显示在一个界面上。 ccschen 发表于 2024-4-5 16:02
GUIX, 屏幕上能不能分区域显示多个window?几个窗口分区显示在一个界面上。
可以的,句柄不同。
多窗口创建可以使用GUIX Studio完成。 eric2013 发表于 2024-4-6 08:10
可以的,句柄不同。
多窗口创建可以使用GUIX Studio完成。
gx_studio_named_widget_create("window_root", (GX_WIDGET *)root, (GX_WIDGET **)&pScreen);
gx_studio_named_widget_create("window_language", (GX_WIDGET *)GX_NULL, (GX_WIDGET **)GX_NULL);
gx_widget_attach((GX_WIDGET *)root, &window_language);
/* 显示根窗口 */
gx_widget_show(root);
/* 启动GUIX */
gx_system_start();
//定时器到了后,删除启动画面,然后显示状态条
gx_widget_delete((GX_WIDGET **)&window_language);
gx_studio_named_widget_create("window_status_bar", (GX_WIDGET *)root,(GX_WIDGET **)GX_NULL);
gx_widget_attach((GX_WIDGET *)root, &window_status_bar);
结果状态条不显示。
UI打算这样做,先启动画面,启动画面显示完后,启动画面窗口就删除。然后进入主界面,主界面由桌面和状态条两个窗口并列显示。 ccschen 发表于 2024-4-6 23:33
gx_studio_named_widget_create("window_root", (GX_WIDGET *)root, (GX_WIDGET ** ...
这种的切换效果,完全可以使用GUIX Studio的Screen Flow设计正常后,添加到你的工程。 eric2013 发表于 2024-4-7 08:01
这种的切换效果,完全可以使用GUIX Studio的Screen Flow设计正常后,添加到你的工程。
设计器能模拟物理按键操作?物理按键不是键盘这种规范的ASCII码值的。 ccschen 发表于 2024-4-7 09:09
设计器能模拟物理按键操作?物理按键不是键盘这种规范的ASCII码值的。
设计的时候用GUIX Studio,设计完毕移植到工程里面,将其修改为按键触发。 eric2013 发表于 2024-4-8 07:55
设计的时候用GUIX Studio,设计完毕移植到工程里面,将其修改为按键触发。
按键检测不太灵光,很多时候不响应。。。FREERTOS里就没这种情况,看了寄存器,IO口确实电平变了。
void button_key_thread_entry(ULONG thread_input)
{
(void)thread_input;
user_button_init();
while (1)
{
flex_button_scan();
tx_thread_sleep(MS_TO_TICK(10));
}
} #include <rtthread.h>
#include "include.h"
#define DBG_TAG "options_menu"
#define DBG_LVL DBG_LOG
#include <rtdbg.h>
static rt_uint8_t options_now = GX_PIXELMAP_ID_OPTIONS_CHECK;
static void options_menu_changed(rt_uint8_t mode)
{
if (mode)
options_now++;
else
options_now--;
if (options_now > GX_PIXELMAP_ID_OPTIONS_SET)
options_now = GX_PIXELMAP_ID_OPTIONS_CHECK;
else if (options_now < GX_PIXELMAP_ID_OPTIONS_CHECK)
options_now = GX_PIXELMAP_ID_OPTIONS_SET;
gx_icon_pixelmap_set(&window_menu.window_menu_options_icon, options_now, GX_NULL);
gx_prompt_text_id_set(&window_menu.window_menu_menu_text, options_now - GX_PIXELMAP_ID_OPTIONS_CHECK + 1);
}
static void task_options_menu_key_event_handler(void *arg)
{
flex_button_t *btn = (flex_button_t *)arg;
/********************* btn1 ***********************/
if (btn->id == USER_BUTTON_1)
{
switch (btn->event)
{
case FLEX_BTN_PRESS_SHORT_UP:
options_menu_changed(0);
break;
}
}
/********************* btn2 ***********************/
else if (btn->id == USER_BUTTON_2)
{
if (btn->event == FLEX_BTN_PRESS_SHORT_UP)
{
switch (options_now)
{
case GX_PIXELMAP_ID_OPTIONS_CHECK:
user_system.state = STATE_MEASURING;
break;
case GX_PIXELMAP_ID_OPTIONS_LOG:
user_system.state = STATE_LOG;
break;
case GX_PIXELMAP_ID_OPTIONS_SET:
user_system.state = STATE_SET;
break;
}
}
}
/********************* btn3 ***********************/
else if (btn->id == USER_BUTTON_3)
{
switch (btn->event)
{
case FLEX_BTN_PRESS_SHORT_UP:
options_menu_changed(1);
break;
}
}
default_btn_evt_cb(arg);
}
void task_options_menu(void)
{
LOG_W("in task_options_menu...");
window_jump((GX_WIDGET *)&window_main, GX_USER_EVENT_IN_MENU);
button_callback_set(task_options_menu_key_event_handler);
while (user_system.state == STATE_OPTIONS_MENU)
{
rt_thread_mdelay(10);
}
window_jump((GX_WIDGET *)&window_menu, GX_USER_EVENT_OUT_MENU);
LOG_W("exit task_options_menu...");
} miss-you 发表于 2024-4-15 11:21
#include
#include "include.h"
我那个问题是,按键检测都检测不到,打了断点,按键状态检测都不对,有时候执行得到。不知道是不是任务优先级有问题。 ccschen 发表于 2024-4-15 18:17
我那个问题是,按键检测都检测不到,打了断点,按键状态检测都不对,有时候执行得到。不知道是不是任务优 ...
简单的按键都检测不到,必须程序设计问题,得排查下了。 eric2013 发表于 2024-4-16 08:35
简单的按键都检测不到,必须程序设计问题,得排查下了。
在FREERTOS下,也是任务中加检测函数,扫描方式,然后加任务延时,好用得很,不知道THREADX下这样就不好使了 ccschen 发表于 2024-4-16 10:02
在FREERTOS下,也是任务中加检测函数,扫描方式,然后加任务延时,好用得很,不知道THREADX下这样就不好 ...
可以肯定,程序是有问题,这个是我们的综合模板Demo,各种外设均正常。
ThreadX全家桶所有组件综合模板发布,史上最强安全认证综合模板,稳如泰山,含AC5,AC6,IAR和GCC(2023-12-23)
https://www.armbbs.cn/forum.php?mod=viewthread&tid=103554&fromuid=58
(出处: 硬汉嵌入式论坛)
eric2013 发表于 2024-4-17 08:07
可以肯定,程序是有问题,这个是我们的综合模板Demo,各种外设均正常。
ThreadX全家桶所有组件综合模 ...
也可能是优先级问题,我看综合DEMO是7级,我这程序都默认是10级。空了调整下。是不是加了休眠函数的问题。
页:
[1]