登录发现更多内容
首页
分类
发帖
账号
自动登录
找回密码
密码
登录
立即注册
立即登录
立即注册
其他登录
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
安信可
本版
帖子
用户
请
登录
后使用快捷导航
没有账号?
立即注册
每日签到
任务
广播
导读
排行榜
设置
我的收藏
退出
18
0
0
首页
小安派&M61基本系统教程
›
【轻松上手】2. 屏幕触摸功能
1
2
/ 2 页
下一页
返回列表
【轻松上手】2. 屏幕触摸功能
[ 复制链接 ]
发布帖子
bzhou830
论坛元老
84
主题
1840
回帖
1万
积分
论坛元老
论坛元老, 积分 17385, 距离下一级还需 9982614 积分
论坛元老, 积分 17385, 距离下一级还需 9982614 积分
积分
17385
私信
18人留言
楼主
小安派&M61基本系统教程
6873
18
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
/ 2 页
下一页
今日推荐
Ai-M61-32SU 模块硬件版本 V1.2-A1
浅尝bouffalo_sdk
腾讯WorkBuddy 编程测试
Codex的单片机写代码测试结果
记录下 ai编程cursor
Ai-M62-M10L的学习与使用
BU04 INIT FAILED
Ai-M61-32S-Kit学习与使用
BW16二次开发烧录失败
MDK5.40编译PB-03 SDK
热帖排行
Ai-M61-32SU 模块硬件版本 V1.2-A1
求助
立创直播还想要 “九章”MCP 验证套件的看这里
智能网球避震器,希望能与感兴趣的朋友交流
浅尝bouffalo_sdk
Ai-M61-32S开发环境搭建+电气工程及其自动化
腾讯WorkBuddy 编程测试
Codex的单片机写代码测试结果
统计信息
会员数: 30910 个
话题数: 44872 篇
首页
分类
我的