- 博客(16)
- 收藏
- 关注
原创 电容式触摸屏
轮询模式需要设备一直主动向触摸屏发起读请求;而中断模式即触摸屏发出中断信号,设备获取到中断信号,再发起读请求。也可以理解为读写命令,在数据中附带寄存器ID既可以读取到想要的值,例如触摸点个数,屏幕ID,或者坐标值。(部分触摸屏的中断信号是屏幕有触摸时发起的,部分触摸屏则会根据自身的扫描周期循环发出中断信号)某些I2C接口需要在调用地址需要右移一位,读写地址保持一致,底层会自动+1。电容式触摸屏只需要通过I2C直接获取坐标点数据即可。电容式触摸屏的调试相对于电阻式触摸屏要简单许多。轮询时需要清零状态寄存。
2025-02-07 10:59:51
205
原创 滑动滤波-数据处理
滑动滤波(或称为滑动平均滤波)常用于对数据进行平滑处理,以去除噪声并提高数据的稳定性。movingAverageFilter:滑动滤波函数,对输入的数组进行滑动平均滤波,并将结果存储在输出数组中。值,滑动滤波的过程是将某个点的值与其前后若干个邻近点的平均值替换,使得它们经过平滑处理后显得更加平滑。WINDOW_SIZE:定义了滑动窗口的大小。坐标点,并调用滑动滤波函数对它们进行平滑处理,最后输出平滑后的坐标点。该代码仅适用于一维数据的滑动滤波,对于二维坐标点,分别对。滑动窗口的大小应根据实际需求进行调整。
2025-02-07 09:42:54
126
原创 触摸屏原理及问题解析
在读取X轴坐标时,将X+置为高电平,X-置位低电平,Y极两端都做悬空处理,即在触碰触摸屏时,产生压力,X极与Y极连接,通过读取ADCy就可以得到触摸点的电压值。而且,Rt是虚拟的压力电阻,触摸点的压力越大,Rt电阻值越小,当读取X极电压时,将Y极置空,X极与Y极之间不会形成回路通路,Rt不会分压,即压力不会对读值产生影响。电平,响应上升沿产生中断信号,当触碰触摸屏时,X+拉高,产生中断,在中断的回调函数中,唤醒被阻塞线程,当再次检测到未触碰时,再次设置中断阻塞线程,以此减少线程的CPU占用率。
2024-09-14 09:50:23
1582
原创 设备树:led系统
即可通过open打开/sys/devices/platform/leds/led_name,并进行操作,写入值控制led灯明灭。或者利用gpio的子系统在/sys/devices/platform/leds/中创建设备。一般可以自定义创建一个字符设备,在/dev中创建字符设备。)中设置,或者通过内核的配置菜单(例如使用。配置完后编译设备树和内核,将内核烧录到设备中。确认内核已经启用了相应的配置选项。:启用基于GPIO的LED支持。①在设备树中添加led。:启用LED类支持。
2024-04-28 16:05:14
360
1
原创 设备树:PWM
即可设定pwm字符设备,使能okay,输出引脚为GPIO1_01,初始id为0,周期20000ns,占空比为0。①定义一个字符设备,在设备树的根节点下添加一个pwm子节点。②在io复用中定义引脚。
2024-04-28 15:39:46
296
1
原创 makefile
交叉编译的选项,这里-g生成调试信息,-O2表示优化级别为2,一般有四个优化级别,-O0表示没有优化,-O3优化级别最高,默认为-O1。
2024-04-23 20:45:39
180
原创 非阻塞IO:select
函数是 POSIX (可携带操作系统接口) 标准中定义的,用于监视一组文件描述符(file descriptors,简称fd),等待一个或多个fd变为"就绪"状态,即它们上有可读取的数据、可以写入数据,或者出现异常。如果设定时间为0秒0微秒,则表示不等待,查询并立即返回。如果超时时间内有文件描述符就绪,返回值是就绪文件描述符的总数;: 是监视的文件描述符集合中最大文件描述符数加1。如果超时时间到了,还没有文件描述符就绪,返回0;: 是待检查其输出是否就绪的文件描述符集合;: 检测fd是否在fd集合中。
2024-04-23 20:41:50
362
原创 电脑ip不一致
输入:netsh int ip reset reset.log 按回车。输入:netsh winsock reset catalog 按回车。导致在电脑网络适配器中看到IPv4是自己此前设置的IP,但实际电脑IP已经被修改。在下载PLC程序和连接的过程中,PLC可能会将修改电脑IPv4的属性内容。在调试西门子PLC的时候,如果电脑IP和西门子PLC的IP不在一个网段。(也可以解决电脑出现两个IPV4ip导致搜索不到同网段设备)以管理员身份运行cmd.exe。关机重启 重新配置既可。
2024-04-19 16:14:02
360
原创 bug记录:串口通讯异常
现象:将脚本移入ARM系统中,流程正常工作,设备断电重启后,open串口文件正常,但read阻塞,排除自身脚本write占用和其他模块占用的可能。在read函数前加上select进行判断,并在read函数前重新关开串口文件,串口不被阻塞,但数据内容一直为0.背景:arm端通过串口ttymxc0和MCU通讯已确定MCU正常发送数据,硬件没问题。初始化串口时,一般只需要设定波特率,数据位,校验位,停止位。不需要设定超时时间,size,Vmin,清除缓冲区等。
2024-04-18 17:22:19
178
1
原创 Linux快照
但一旦点击加载快照,现有系统数据会被覆盖,如果现有系统没有快照备份,那数据将无法复原。或者不要创建快照,文件使用别的方式备份,避免他人误触。虚拟机快照功能可以对系统状态进行记录,用作备份。
2024-04-16 13:47:53
138
原创 Ubuntu16.04修改设备ip
网络服务重启后,使用命令ifconfig查看ip地址,有时候会发现ip并未更改,重启虚拟机即可。Linux系统下,修改ip,可先使用命令ifconfig查看本机ip。进入根目录下etc中的network目录;查看本机网络信息,打开文件进行修改。修改完ip地址和网关后,保存并退出。
2024-04-16 13:42:51
636
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人