基于mini原子开发板的触摸屏按钮管理系统+GUI函数【转】

 2 E币 
成为会员,免费下载资料
文件大小:780.42 KB 上传者:ljc2010 时间:2013-08-27 16:06:57 下载量:21
【转载】 最近在准备今年九月份的电子设计国赛,由于觉得按键太麻烦,所以干脆就利用原子提供的触摸屏底层驱动实现了触控按钮的管理,其基本功能如下:


    1:支持按钮样式自定义,包括按钮颜色,渐变色,文字颜色,按下按钮的颜色、渐变色和字体颜色等。


    2:系统实现了对按钮的自动管理,首先申请按钮,Apply_Button(u16 x0 , u16 y0 , u16 x1 , u16 y1 , u16 color , char* text); 输入按钮的相关信息,若按钮没有与之前的按钮位置重合,则返回新申请的按钮id号,若申请不成功,返回0.当有按钮按下时,可以获取按下的按钮id,来判断是哪个按钮被按下。


    3:按钮的扫描设置了两种模式,一种是中断模式,一种是查询模式。其中中断模式采用定时器每隔20ms进行一次扫描,当探测到有按钮按下时,将按钮id加入按钮id环形缓存区,主函数中只要判断缓存区是否为空,就可以来获取按下的按钮id值,这样提供了一种并行的管理机制。第二种是查询方式,通过调用函数Get_ButtonID()进入等待,直到有按钮被按下,返回按下按钮的id。


    4:采用动态的内存管理,每申请一个按钮,会为该按钮开辟一个空间,并加入到双向链表的表尾,实现对按钮的管理。当要撤销按钮时,需要调用void Free_Button(u8 *id , u16 bkcolor);函数释放指定id的按钮,并以bkcolor色填充按钮区域,也可以调用Free_AllButton(u16 bkcolor);释放所有按钮。
展开
折叠
GUI
914
评论
共 0 个
内容存在敏感词
    易百纳技术社区暂无数据
相关资料
更多相关资料
关于作者
易百纳技术社区
ljc2010
贡献资料 74
易百纳技术社区 我上传的资料
登录查看
我赚取的积分
登录查看
我赚取的收益
登录查看
上传资料 赚取积分兑换E币
易百纳技术社区
删除原因
广告/SPAM
恶意灌水
违规内容
文不对题
重复发帖
置顶时间设置
结束时间
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-资料模块

审核失败

失败原因
备注
易百纳技术社区