OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6314|回复: 3

战舰自带的GUI有没有介绍使用的资料

[复制链接]

6

主题

85

帖子

0

精华

高级会员

Rank: 4

积分
763
金钱
763
注册时间
2013-4-23
在线时间
119 小时
发表于 2015-10-25 23:44:02 | 显示全部楼层 |阅读模式
5金钱

    战舰自带的GUI有没有资料。

    可以显示一个按钮。但是实在不明白,怎么针对触摸屏的数据,来更新按钮的状态和获取按钮的返回值。(现在我按不按的没反应)
    

    觉得UCGUI 用起来不太熟悉,很多地方不懂。觉得战舰自带的GUI精简一点,实用。原子老师有没有自带GUI的资料?

    基础有点差,看最后一个例程的代码也没太看懂怎么实现按键状态更新的。

     以下是我拷贝出来的可以运行了的一段代码。实现了显示一个按钮,但是按不按没反应。

#include "includes.h" 
#include "malloc.h"  
#include "spblcd.h"

#define BUTTON_0 1
#define BUTTON_1 2
#define BUTTON_2 3
#define BUTTON_3 4
#define BUTTON_4 5
#define BUTTON_5 6
#define BUTTON_6 7


_btn_obj * tbtn[10];
//{0,100,100,50,BUTTON_0,2,0,"BUTTON0",16,10,BTN_DFU_BCFUC,BTN_DFU_BCFDC,(u16*)gui_memin_malloc(4*2),NULL,NULL};


void BUTTON_Clear(void)
{
tbtn[0]=btn_creat(0,100,100,50,0,0x02);//创建按钮
tbtn[0]->sta=0;
tbtn[0]->caption="BUTTON1";//名字
tbtn[0]->font=16;//字体
tbtn[0]->arcbtnr=10; 
tbtn[0]->picbtnpathu=0; 
tbtn[0]->picbtnpathd=0; 
btn_draw(tbtn[0]);//画按钮




}
//main函数  
int main(void)
{
u8 WHILE = 1;
u8 ra=0;
delay_init(168); //延时初始化  
uart_init(115200); //初始化串口波特率为115200
  LED_Init(); //初始化LED 
  LCD_Init(); //LCD初始化  
  BEEP_Init(); //蜂鸣器初始化
  KEY_Init(); //按键初始化 
  AT24CXX_Init();     //EEPROM初始化
W25QXX_Init(); //初始化W25Q128


my_mem_init(SRAMIN); //初始化内部内存池
my_mem_init(SRAMCCM); //初始化CCM内存池 

tp_dev.init(); 
gui_init();  

LCD_Clear(RED); //黑屏
POINT_COLOR=WHITE;
BACK_COLOR=BLACK;

// btn_test(10,100,100,100,0,0,10,"TESTBUTTON",0,0);





BUTTON_Clear();
while(WHILE)
{

ra = btn_check(tbtn[0],&in_obj);
if(ra)
{
    if((tbtn[0]->sta&0X80)==0)//有有效操作
   {
       LED0 = 0;
    }
}
}
return 0;
}

// tp_dev.scan(0); 
// if(tp_dev.sta&TP_PRES_DOWN) //触摸屏被按下
// {
// if(tp_dev.x[0] < lcddev.width && tp_dev.y[0]<lcddev.height)
// {
// TP_Draw_Big_Point(tp_dev.x[0],tp_dev.y[0],BLUE); //画图     
// }
// }else delay_ms(10); //没有按键按下的时候  




























最佳答案

查看完整内容[请看2#楼]

没有介绍. 按键的扫描:btn_check 之前,必须加入触摸屏扫描. 才可以执行相关操作.
MJM_天行健,君子以自强不息;地势坤,君子以厚德载物;
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2015-10-25 23:44:03 | 显示全部楼层
没有介绍.
按键的扫描:btn_check
之前,必须加入触摸屏扫描.
才可以执行相关操作.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

6

主题

85

帖子

0

精华

高级会员

Rank: 4

积分
763
金钱
763
注册时间
2013-4-23
在线时间
119 小时
 楼主| 发表于 2015-11-3 23:20:30 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
while(WHILE)
{
tp_dev.scan(0); //加入
ra = btn_check(tbtn[0],&in_obj);
if(ra)
{
if((tbtn[0]->sta&0X80)==0)
{

}
LED0 = 1;
}
LED1= ~LED1;
delay_ms(500);
}

是这样么?,还是不行啊
MJM_天行健,君子以自强不息;地势坤,君子以厚德载物;
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2015-11-9 23:33:11 | 显示全部楼层
回复【3楼】MJM:
---------------------------------
 仿真一下。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-25 15:06

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表