登录发现更多内容
首页
分类
发帖
账号
自动登录
找回密码
密码
登录
立即注册
立即登录
立即注册
其他登录
QQ
微信
首页
Portal
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
产品教程
BBS
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
开发资料
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
样品购买
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
IoT云平台
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
GitHub
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
技术博客
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
搜索
搜索
热搜:
LoRa
ESP8266
安信可
本版
帖子
用户
请
登录
后使用快捷导航
没有账号?
立即注册
每日签到
任务
广播
导读
排行榜
设置
我的收藏
退出
21
0
0
首页
小安派&M61基本系统教程
›
【轻松上手】2. 屏幕触摸功能
1
2
3
/ 3 页
下一页
返回列表
【轻松上手】2. 屏幕触摸功能
[ 复制链接 ]
发布帖子
bzhou830
论坛元老
84
主题
1844
回帖
1万
积分
论坛元老
论坛元老, 积分 17985, 距离下一级还需 9982014 积分
论坛元老, 积分 17985, 距离下一级还需 9982014 积分
积分
17985
私信
18人留言
楼主
小安派&M61基本系统教程
7932
21
2023-10-6 19:22:36
液晶显示和触摸的驱动都是存在于`AiPi-Open-Kits\AiPi-Open-Kits\aithinker_Ai-M6X_SDK\bsp`目录下的。硬件的驱动都已经写好了,我们使用他的时候只需要配置io就可以使用了。  和lcd的显示一样,配置是由用户写一个`touch_conf_user.h`, 并在其中定义使用的触摸芯片的名称就可以了,因为上述中的bsp中都已经写好了触摸芯片的驱动,所以用户只需要关注逻辑实现就可以了。 ```cpp #ifndef _TOUCH_CONF_USER_H_ #define _TOUCH_CONF_USER_H_ /* spi interface TOUCH_SPI_XPT2046 // Not currently supported */ /* i2c interface TOUCH_I2C_FT6X36 TOUCH_I2C_GT911 TOUCH_I2C_CHSC6540 TOUCH_I2C_CST816D */ /* Select Touch Type */ #define TOUCH_I2C_CHSC6540 /* touch interface */ #define TOUCH_INTERFACE_SPI 1 #define TOUCH_INTERFACE_I2C 2 /* touch interface pin config */ #define TOUCH_I2C_SCL_PIN GPIO_PIN_0 #define TOUCH_I2C_SDA_PIN GPIO_PIN_1 /* now do not support */ #if 0 #define TOUCH_SPI_SS_PIN #define TOUCH_SPI_SCLK_PIN #define TOUCH_SPI_MOSI_PIN #define TOUCH_SPI_MISO_PIN #endif #endif // _TOUCH_CONF_H_ ``` 随后就是需要在主函数中去初始化触摸芯片。从bsp的代码中可以看到库已经给我们提供了两个函数调用接口: ```cpp int touch_init(touch_coord_t* max_value); int touch_read(uint8_t* point_num, touch_coord_t* touch_coord, uint8_t max_num); ``` 在主函数中调用初始化函数,在task循环中去轮询调用touch_read()即可得到触摸屏幕的位置读取。主函数如下: ```cpp void touchpad_read() { uint8_t point_num = 0; touch_coord_t touch_coord; if (touch_read(&point_num, &touch_coord, 1) == 0) { printf("[touched] %d, %d\r\n", touch_coord.coord_x, touch_coord.coord_y); } } int main(void) { board_init(); lcd_init(); touch_coord_t touch_coord = {.coord_x=320, .coord_y=240}; touch_init(&touch_coord); lcd_set_dir(3, 0); lcd_clear(LCD_COLOR_RGB565(0, 0, 0)); while (1) { touchpad_read(); bflb_mtimer_delay_ms(1); } } ``` 烧录程序,即可看到触摸的坐标位置了。
点赞
0
收藏
0
淘帖
0
────
0
人觉得很赞
────
选择去发光,而不是被照亮
回复
使用道具
举报
18 回复
电梯直达
正序浏览
倒序浏览
正序浏览
沙发
lsrly
回复
使用道具
举报
2023-10-6 19:30:59
学习
回复
评论
使用道具
举报
好好学习,努力挣钱,专心
板凳
18350766600@139
回复
使用道具
举报
2023-10-6 23:47:13
666很详细,学习了
回复
评论
使用道具
举报
地板
WangChong
回复
使用道具
举报
2023-10-7 00:00:09
学习了
回复
评论
使用道具
举报
5
#
Ject
回复
使用道具
举报
2023-10-7 09:06:17
回复
评论
使用道具
举报
6
#
王乐乐
回复
使用道具
举报
2023-10-7 09:57:07
打卡学习
回复
评论
使用道具
举报
7
#
skyjz
回复
使用道具
举报
2023-10-7 12:59:06
学习
回复
评论
使用道具
举报
8
#
496199544
回复
使用道具
举报
2023-10-7 13:18:17
学习
回复
评论
使用道具
举报
9
#
iiv
回复
使用道具
举报
2023-10-7 18:53:57
点赞
回复
评论
使用道具
举报
10
#
skyjz
回复
使用道具
举报
2023-10-8 09:23:07
学习
回复
评论
使用道具
举报
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
立即登录
手机登录
点评
高级模式
本版积分规则
回帖并转播
回帖后跳转到最后一页
下一页 »
1
2
3
/ 3 页
下一页
今日推荐
【体验】Ai-WV02-32S 这不就跑起来了么
【问题】Ai-WV02-32S 短路
【B站/视频号直播预告】莫工带你跑通 AI→MCP 协议→硬件执行全
📘 一篇帖,把矽典微毫米波开发系列讲清楚
Ai-BV01-32S 参数全解析——一颗语音模组的底牌,规格书里没写的
第十期电子DIY——用 Ai-WV01-32S 打造一个会说话的AI 小玩意
【DIY小项目分享】AI语音便携可调电源
ai wb2 串口调试,疯狂输出乱码
BW16打板擦除失败是什么原因
我在Application中使能了blinky sample, 程序并没有运行
热帖排行
【体验】Ai-WV02-32S 这不就跑起来了么
关于bouffalo_sdk的环境搭建
【问题】Ai-WV02-32S 短路
【B站/视频号直播预告】莫工带你跑通 AI→MCP 协议→硬件执行全
📘 一篇帖,把矽典微毫米波开发系列讲清楚
Ai-WB2-12F问题请教
Ai-BV01-32S 参数全解析——一颗语音模组的底牌,规格书里没写的
AI-BS21-32S使用AT指令都是Unknown cmd
统计信息
会员数: 31131 个
话题数: 42294 篇
首页
分类
我的