沁恒 CH32V103 驱动4线电阻触摸屏
#申请原创# @21小跑堂沁恒官方设计的这块 CH32V103 开发板 yyds ,内置仿真器了,USB转串口也有了,还兼容 Arduino 接口
不用接线,直接把 Arduino 的扩展板搬过来用
上回说到 FATFS 文件系统读取中文长文件名,也做好了字库,用液晶屏进行显示
再夸夸,非常方便,直接插上 Arduino 显示扩展板,扩展板带有 SPI 接口的 TF 卡插槽,TF 卡 里放上需要的文件,几乎想要的都齐了
等等,那显示有了,输入呢?
别急,不用接线,扩展板上也贴好了电阻触摸屏,由于扩展板引脚较少,电阻屏引脚复用到液晶屏
四线电阻触摸屏,虽然没有电容屏体验好,但是用起来也不会有什么问题
四个IO引脚分别为 X+ X- Y+ Y-
通过不同的电平组合,再读取 ADC 数值,就能实现 XY 坐标的读取,按下力度 Z 的识别
u16 Touch_GetPoint(u16* x, u16* y)
{
u16 z;
TS_XP_O;
TS_XM_O;
TS_YP_I;
TS_YM_I;
TS_XP_H;
TS_XM_L;
*x = ADC_Get(1);
TS_XP_I;
TS_XM_I;
TS_YP_O;
TS_YM_O;
TS_YP_H;
TS_YM_L;
*y = ADC_Get(2);
TS_XP_O;
TS_XM_I;
TS_YP_I;
TS_YM_O;
TS_XP_H;
TS_YM_L;
z = 4095 - (ADC_Get(2) - ADC_Get(1));
TS_XP_O;
TS_XM_O;
TS_YP_O;
TS_YM_O;
return z;
}
几乎就完成了
这里还是强调几点,一是读取 XY 坐标后,需要进行触屏校准,其实就是获取触屏对应显示屏最左、右、上、下的 4 个 ADC 值
再 Map 到显示屏分辨率上
例如:x = Touch_Map(ts_y, 270, 3660, 0, 320)
y = Touch_Map(ts_x, 434, 3636, 0, 240)
对照得到最终的显示屏上的坐标值
二是电阻触屏比较廉价,做工可能也不太好,直接驱动大概率会遇到跳坐标问题
这个问题解决方法可以采用数据滤波,剔除大小值
也有个更直接的办法,按下力度较大时,Z 值较大,Z 值大到一定程度,误触跳坐标问题可以减小到很低
但是你用同一个力道按屏幕, Z 值在整个屏幕的 ADC 值是不一样的,需要先做一次 Map,把坐标 Map 成全屏的力道,再获取 Z 值时,Z 值大于 Map 数据的,才能算为触摸按下
不多说还是上图:
楼主可否分享程序供参考学习下,我想用CH32V103读取.NC文件里面的G代码发送给GRBL下位机,NC文件也是中文的
半年过去了,还不知道如何实现这些功能 GSDDDD 发表于 2021-8-21 21:53
楼主可否分享程序供参考学习下,我想用CH32V103读取.NC文件里面的G代码发送给GRBL下位机,NC文件也是中文的 ...
那篇贴说的中文指的是中文长文件名,并不是说文件内容是中文的
只要你不需要显示中文长文件名,就完全可以按照短文件名打开读写文件
我不清楚这个NC文件是什么,如果是文本文件,一般是GBK编码,直接读取然后发送就可以
如果不是文本文件,就要去做相应的解码,这个跟文件系统没关系
这里面的文件系统已经可以跑起来了,可以直接用
https://bbs.21ic.com/icview-3055964-1-1.html
邮箱留个,我发你中文长文件名的 .NC文件和打印文件一样,里面是G代码,在电脑上用记事本可以打开
只有个邮箱:1290217740@qq.com GSDDDD 发表于 2021-8-23 22:14
.NC文件和打印文件一样,里面是G代码,在电脑上用记事本可以打开
只有个邮箱: ...
我发你了,你把要发送的文件 改名为 TEST.NC 放在根目录下 还没有收到邮件。
我的电脑是Win7 64位的,WCH-LINKV1.1不是每次都能成功下载程序,但也不是不能烧录 GSDDDD 发表于 2021-8-24 21:22
还没有收到邮件。
我的电脑是Win7 64位的,WCH-LINKV1.1不是每次都能成功下载程序,但也不是不能烧录 ...
你这个驱动没装好吧,应该还有个 Win7 的驱动可以装一下试试,邮件你看下收到没 邮件收到了,没有找到WCH-LINKV驱动程序,貌似官网上也没有驱动程序 这个arduino的接口吗 这个是官网的板子吗? 可以直接在arduino开发吗 没有完整的工程代码吗 这个要做gui的显示吗 现在fatfs的读取速度太慢了。 可以驱动多少帧的速度 期待楼主的mp3的设计了。 CH32V103 开发板的资料有吗 CH32V103 开发板可以用arduino? 连续刷屏是否有顿挫感呢? spi的最大的速度是多少?