Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
DIY综合交流区
RealTouch硬件鼠标支持了,各位大神赶紧把它融合到RTGUI里面去吧。
发布于 2012-12-07 17:01:52 浏览:3316
订阅该版
RA8875的驱动现在已经加入硬件图形光标支持,可以在RealTouch中使用了。 首先,需要做一个鼠标光标图像数据,下面是取了一个仿windows光标的数据: ```const uint8_t cursor[256]={ 0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xa5, 0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0x91, 0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0x41, 0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xa9,0x01, 0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xa4,0x01, 0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0x90,0x01, 0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0x40,0x01, 0xaa,0xaa,0xaa,0xaa,0xaa,0xa9,0x00,0x01, 0xaa,0xaa,0xaa,0xaa,0xaa,0xa4,0x00,0x01, 0xaa,0xaa,0xaa,0xaa,0xaa,0x90,0x00,0x01, 0xaa,0xaa,0xaa,0xaa,0xaa,0x40,0x00,0x01, 0xaa,0xaa,0xaa,0xaa,0xa9,0x00,0x00,0x01, 0xaa,0xaa,0xaa,0xaa,0xa4,0x00,0x00,0x01, 0xaa,0xaa,0xaa,0xaa,0x90,0x00,0x00,0x01, 0xaa,0xaa,0xaa,0xaa,0x40,0x00,0x00,0x01, 0xaa,0xaa,0xaa,0xa9,0x00,0x00,0x00,0x01, 0xaa,0xaa,0xaa,0xaa,0x55,0x00,0x00,0x01, 0xaa,0xaa,0xaa,0xaa,0xaa,0x40,0x00,0x01, 0xaa,0xaa,0xaa,0xaa,0xaa,0x90,0x00,0x01, 0xaa,0xaa,0xaa,0xaa,0xaa,0x40,0x00,0x01, 0xaa,0xaa,0xaa,0xaa,0xaa,0x40,0x15,0x01, 0xaa,0xaa,0xaa,0xaa,0xa9,0x00,0x1a,0x41, 0xaa,0xaa,0xaa,0xaa,0xa9,0x00,0x6a,0x91, 0xaa,0xaa,0xaa,0xaa,0xa4,0x00,0x6a,0xa5, 0xaa,0xaa,0xaa,0xaa,0xa4,0x01,0xaa,0xa9, 0xaa,0xaa,0xaa,0xaa,0xa0,0x01,0xaa,0xaa, 0xaa,0xaa,0xaa,0xaa,0x90,0x06,0xaa,0xaa, 0xaa,0xaa,0xaa,0xaa,0x90,0x06,0xaa,0xaa, 0xaa,0xaa,0xaa,0xaa,0x90,0x0a,0xaa,0xaa, 0xaa,0xaa,0xaa,0xaa,0x90,0x1a,0xaa,0xaa, 0xaa,0xaa,0xaa,0xaa,0xa5,0x6a,0xaa,0xaa, 0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa };``` 因为RA8875的光标数据是由两个自定义颜色,一个屏幕背景色,一个屏幕背景色反色4种颜色组成的,每个颜色用2个位表示,每个字节代表4个点的颜色,所以32x32的光标图像需要用256个字节(32X32X2/8),这个取模比较难搞,这里提供一个经过笔者好久才制作好的3色光标,和windows的一样。 下面是在RA8875中载入图形光标的函数: ```static void _set_mouse_image(const uint8_t *mouse_img) { uint32_t i,j; LCD_write_reg(0x84, 0xFF);//GCC0 LCD_write_reg(0x85, 0x00);//GCC1 LCD_write_reg(0x41, 2<<2);//write to gc _set_write_cursor(0, 0); LCD_CmdWrite(MRWC);//set CMD02 to prepare data write for(i=0;i<32;i++) { for(j=0;j<8;j++) { LCD_DataWrite(*mouse_img++); } } LCD_write_reg(0x41, (1 << 7) | (0 <<2 ));//display cursor }``` 接下来就是设置光标位置的函数了,如下: ```static void _set_mouse_position(uint32_t X, uint32_t Y) { LCD_CmdWrite(0x81); LCD_DataWrite(X>>8); LCD_CmdWrite(0x80); LCD_DataWrite(X); LCD_CmdWrite(0x83); LCD_DataWrite(Y>>8); LCD_CmdWrite(0x82); LCD_DataWrite(Y); }``` 附件中提供一个开启硬件光标的RA8875驱动,可以直接替换RealTouch主程序中的RA8875.c文件,这样烧录到RealTouch就是可以看到光标了。在finsh中使用set_mouse_XY(X,Y)可以进行设置光标的位置。因为还不懂如何与RTGUI关联,所以暂时提供这个,等待各位制作GUI的大神们加入RTGUI中,支持硬件光标。 下载附件 [ra8875.rar](https://oss-club.rt-thread.org/uploads/4345_7585404aca5f528865b6426dc2d30d39.rar)
查看更多
4
个回答
默认排序
按发布时间排序
heyuanjie87
2012-12-07
这家伙很懒,什么也没写!
解决这个光标问题后,鼠标就可以插在realtouch的usb口用来指挥光标的运动了
aozima
2012-12-07
调网络不抓包,调I2C等时序不上逻辑分析仪,就像电工不用万用表!多用整理的好的文字,比截图更省流量,还能在整理过程中思考。
RA8875同时支持8种光标,可以任选一个显示,是否可以把不同类型的光标放进去,以减少更新光标的消耗? 不过如何识别光标的改变也比较费事,先支持最通用的箭头好了。
nongxiaoming
2012-12-07
rt-thread大师兄
>RA8875同时支持8种光标,可以任选一个显示,是否可以把不同类型的光标放进去,以减少更新光标的消耗? >不过如何识别光标的改变也比较费事,先支持最通用的箭头好了。 --- 多种支持得靠RTGUI啊,不然没办法判断什么时候需要变换样式啊~
撰写答案
登录
注册新账号
关注者
0
被浏览
3.3k
关于作者
nongxiaoming
rt-thread大师兄
提问
23
回答
402
被采纳
11
关注TA
发私信
相关问题
1
[项目]搞个开源的硬件项目
2
硬件计划贴,及时更新,欢迎提意见
3
软件计划贴,及时更新,欢迎提意见::WMA,MOUNT,LWIP等问题急需解决.
4
MMS协议
5
定点的wma解压库-libwma
6
QQ群记录 [20090821]
7
STM32网络收音机PCB报名征集
8
第一版调试记录
9
第二版硬件讨论
10
RADIO项目相关模块规格--欢迎大家自己做板时规格与此兼容,减少重复劳动
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
rt-thread 小内存算法源码分析
2
env中添加lvgl软件包后,keil编译包--c99错误
3
【NXP-MCXA153】 定时器驱动移植
4
GD32F450 看门狗驱动适配
5
【NXP-MCXA153】看门狗驱动移植
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
UART
WIZnet_W5500
ota在线升级
PWM
freemodbus
flash
cubemx
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
编译报错
Debug
rt_mq_消息队列_msg_queue
SFUD
keil_MDK
msh
ulog
C++_cpp
MicroPython
本月问答贡献
踩姑娘的小蘑菇
7
个答案
2
次被采纳
a1012112796
18
个答案
1
次被采纳
红枫
5
个答案
1
次被采纳
Ryan_CW
5
个答案
1
次被采纳
张世争
4
个答案
1
次被采纳
本月文章贡献
YZRD
3
篇文章
6
次点赞
catcatbing
3
篇文章
6
次点赞
lizimu
2
篇文章
11
次点赞
qq1078249029
2
篇文章
2
次点赞
xnosky
2
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部