
T113
文章平均质量分 85
FoxPi
我的生活不止有Coding,还有你们。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【全志T113-S3_100ask】12-3 Linux蓝牙通信实战(基于BlueZ的C语言BLE蓝牙编程)
在网上找了若干篇关于BLE的C语言编程,都不尽人意,可能是分析一下函数、结构体,可能是研究一下启动的流程,可能是用命令行去操作,可能是说一下dbus啥啥啥的。其中,gap_device_data_read 和 gap_user_write_service是我们服务的具体内容(即我们需要去实现它),当用户调用这个服务的时候,我们需要做一些什么。这个功能我研究了很久,他的应用场景很大,设置装置联网就是其一,另一个,在穿戴设备的场景也应用广泛等等,我测试了一下,稳定性很不错,实时性也很强,有待进一步深入研究。原创 2023-02-28 20:36:24 · 3511 阅读 · 16 评论 -
【全志T113-S3_100ask】16-1 linux系统驱动四线电阻屏(tpadc、tslib)
上一小节,使用了内核驱动了 ili9341 ,但是上面的电阻屏并还没有驱动,查阅芯片数据手册,该芯片支持驱动四线触摸屏。1、先把芯片拆下来把,这么小的引脚好像不好焊接。1、感觉触摸屏input上报的时间很久,感觉很久才触发一次坐标值,是tpadc的配置有问题吗?其中,如果type为0001,则为x轴,0003则为y轴,value为对应的值。且buildroot已经支持,官方设备树已经配置好。那就手动把触摸屏的四根线焊上去吧(别接错了)嗯,看起来没短路,然后接到核心板的对应引脚上。4、如何手写坐标校准呢?原创 2022-11-29 16:21:08 · 5642 阅读 · 2 评论 -
【全志T113-S3_100ask】15-2 linux系统gpio模拟spi驱动屏幕——ILI9341
其实实现模拟spi不是为了刷屏,而是这个屏幕使用的是电阻屏,使用的是XPT2046芯片,需要使用spi通信,对于读取触摸屏位置来说,对速度的要求其实不高。但是这个板子没有多余的spi了,cs只有一个,只能暂时模拟spi使用了(如果把核心板的spi nand拆掉呢)文档路径 :Documentation/devicetree/bindings/spi/spi-gpio.yaml。看起来还是挺简单的,只需要配置 compatible 和对应的 gpio。此时工作已经完成一半了,下面直接修改设备树即可使用。原创 2022-11-28 00:23:48 · 4479 阅读 · 0 评论 -
【全志T113-S3_100ask】15-1 内核5.4驱动spi屏幕——ILI9341
在原本的设备树中,配置是错误的,引脚都对不上,应该是参考D1-H的文档,然后拷贝过来的。我们还用到了dc和rst引脚,这两个引脚可以随便找个io,但是不能和其他引脚冲突。修改完以上三个函数,就可以编译内核和buildroot。在 Function4 中有spi1相关的配置,从PD10到PD15。至此,屏幕驱动完毕。可以进一步研究c语言驱动屏幕,或者lvgl驱动。按照屏幕的接线方案进行接线,一一对应就好没啥好说的。上电之后屏幕由白到黑,应该是驱动加载成功了。2、然后左斜杠 / 进入搜索,输入。原创 2022-11-24 16:17:38 · 6516 阅读 · 12 评论 -
【全志T113-S3_100ask】14-1 linux采集usb摄像头实现拍照(FFmpeg、fswebcam)
FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。前面的"FF"代表"Fast Forward"。FFmpeg有非常强大的功能包括视频采集功能、视频格式转换、视频抓图、给视频加水印等。原创 2022-11-22 00:44:43 · 5007 阅读 · 4 评论 -
【全志T113-S3_100ask】13-1 Linux c语言ioctl驱动oled(iic、ssd1306)屏幕
对于oled屏幕来说,先要对iic总线上进行寻器件,要对oled屏幕进行写命令和数据,如果单纯使用open然后write函数进行连续写操作,其实是不可行的,因为write函数结束后会产生一个stop信号,后面的数据根本就拼不上去,所以需要借助ioctl函数将命令和数据"拼接"起来。其中:msgs使用前必须先分配一下内存,msgs=(struct i2c_msg )malloc(nmsgssizeof(struct i2c_msg));nmsgs是msgs的个数其中:2、读函数(三)对oled的操作原创 2022-11-19 11:56:05 · 3132 阅读 · 0 评论 -
【全志T113-S3_100ask】11-2编写驱动采集dht11数据(cdev、中断、锁)
至此,测试完毕,但是驱动程序中有bug待优化,比如读取数据的时候会存在数据的滞后性,导致第一次读取数据会发生错误。为保证调用时返回给函数是准确的数据,读取了两次,在一定程度上缓解了滞后性,但是根本问题未解决,有待优化。中已经实现了一种方法采集dht11的数据,但是经反馈说采集不够稳定,经常读不到数据、DHT11无响应的现象,再次展开研究,参考。本文的设备树与上一节不完全一致,使用的依然是PD14,但是更加易读。原创 2022-11-10 17:59:38 · 1780 阅读 · 1 评论 -
【全志T113-S3_100ask】12-2 Linux蓝牙通信实战(BLE初窥)
4、但是我们没有其他服务,只能做一些简单的操作,比如读取,因为现有的服务是 bluetoothctl 提供的。其他操作自己慢慢摸索哈,我一个人只能啃成这样了,如有写得不对的地方大佬指正。4、连接后,bluetoothctl会发生变化,此时已经进入交互界面。直接体现在进行蓝牙连接时,是否输入连接PIN密码,用于PIN配对。服务从 3 项变为 4 项,第 4 项即为我们刚才添加的服务。读操作的话,直接读取就好了,值为刚才我们设置的值。3、手机使用BLE调试助手连接蓝牙,如下图所示。5、下面我们添加自己的服务。.原创 2022-08-09 17:24:16 · 7870 阅读 · 10 评论 -
【全志T113-S3_100ask】11-编写驱动采集dht11数据
1、外观2、电路引脚说明pin名称注释1VDD供电 3-5.5VDC2DATA串行数据,单总线3NC空脚4GND接地,电源负极3、量程精度DHT11是一款有已校准数字信号输出的温湿度传感器。其精度湿度±5%RH, 温度±2℃,量程湿度5~95%RH, 温度-20~+60℃。4、电气特性供电 电压3.3~5.5V DC输出 单总线数字信号。............原创 2022-08-03 09:48:13 · 3338 阅读 · 0 评论 -
【全志T113-S3_100ask】10-使用内核驱动点灯(控制继电器)
开发板上没有led灯,且没用其他引出的GPIO,所以就借rgb屏幕的引脚来点个灯(不过分吧@狗头),实现控制继电器。看了好久的原理图,怕与其他功能冲突,所以就使用了 PD13 作为本次实验的引脚。该引脚除了作为rgb屏幕的功能外,好像没其他作用了,好,就它了。在 /sys/class/leds/red 下可以找到相关的属性。1、寻找设备树,在 /proc/device-tree 下。下面使 brightness 属性为 1 .即可点亮。关闭的话,使用以下命令即可。焊接飞线接到继电器上。...原创 2022-08-03 08:55:39 · 3861 阅读 · 0 评论 -
【全志T113-S3_100ask】9-音频输入与输出(amixer、aplay、arecord)
之前查看系统命令,发现有个aplay命令,然后尝试使用 aplay -Dhw:audiocodec -vvv gz.wav播放音频,然后报错 aplay: pcm_write:2127: write error: Input/output error。找到了Headphone volume,意思是耳机音量,因为我们是使用3.5mm接口的,所以这一项和我们想要的很像。解释:比如想要设置主音量,第一次使用的话先得查询一下接口函数的配置参数,但是又不知道接口叫什么,先查询所有接口。耳机开关的输出是 off!...原创 2022-08-02 19:29:17 · 6670 阅读 · 3 评论 -
【全志T113-S3_100ask】8-USB串口获取GPS数据(含解析)
板子上有两个串口,但是串口1被xr829模块占用了,串口3主要用于调试,为简单实现串口功能,本讲将实现usb转串口(ch340)来采集gps的数据,并解析。本解析参考https//blog.youkuaiyun.com/qq_30665009/article/details/121434507。驱动是编译进内核的,不用手动加载,把USB转TTL插到USB口就自动匹配识别,生成ttyUSB0设备。在buildroot已经集成了ch341的驱动,我们将其使能即可使用,非常简单。编译后放到开发板,测试程序。...原创 2022-08-02 16:28:18 · 3968 阅读 · 4 评论 -
【全志T113-S3_100ask】7-编译Tina系统初体验
因为使用Tina系统开发还是比较方便的,有全志的SDK支持,可以参考的内容比较多。通过上面的百度网盘下载SDK,拷贝到linux下。编译出来的是nand镜像。7月28日,百问网官方发布适配。当然我的编译过程没有那么顺利。......原创 2022-07-29 16:11:45 · 10299 阅读 · 8 评论 -
【全志T113-S3_100ask】6-编写IIC驱动GY-302(twi)
在100ask的板子上预留了一个IIC接口,下面通过这个IIC接口来采集光照强度传感器GY-302(BH1750)。在设备树中,找不到任何i2c的节点信息,只找到twi。TWI(Two-wireSerialInterface)两线串行接口,TWI完全兼容I2C总线。由于TWI总线与传统的I2C总线极其相似。因此不少人误以为TWI总线就是I2C总线,其实这只是一种简单化的理解。TWI总线是对I2C总线的继承和发展。它定义了自已的功能。...原创 2022-07-28 18:34:26 · 4197 阅读 · 3 评论 -
【全志T113-S3_100ask】5-编写按键驱动(input子系统+内核按键驱动)
在第四讲的时候我们自己添加key节点,并且通过编写驱动和应用程序成功读取按键值,但是对于强大linux来说,按键的驱动早就写进了内核,而且实际的开发中我们是使用input子系统进行开发的,下面我们使用input子系统+内核按键驱动来实现。......原创 2022-07-26 17:35:22 · 3934 阅读 · 1 评论 -
【全志T113-S3_100ask】4-编写按键驱动(atomic + poll)
【全志T113-S3_100ask】4-编写按键驱动前言(一)查看原理图(二)修改设备树(三)编写驱动 key_drv.c(四)编写测试应用 key_drv_test.c(五)编写Makefile(六)测试前言本来想写一下点灯的驱动的,结果发现板子上没有用户的led灯?????那就试着写一下按键的驱动吧。(一)查看原理图在原理图里,找到了用户按键USER KEY的内容.........原创 2022-07-21 16:42:30 · 3157 阅读 · 0 评论 -
【全志T113-S3_100ask】3-自动烧录系统脚本
总上所述,既然镜像系统在linux下,为什么不通过Ubuntu向sd卡烧录系统呢?二是需要将img移动到window下,然后通过Win32DiskImager.exe进行烧写。官方提供的PhoenixCard.exe有恢复卡的选项,但是每次都要点击两次才能完全恢复。在Ubuntu下进行了镜像img的制作,需要向sd卡进行镜像的烧录,但是过程繁琐。一是将带系统的sd卡插进电脑,因为存在多个分区,一次性弹出多个窗口。但是不会输出dd烧写过程的j进度,有知道的大佬欢迎留言。三是在烧录前经常提示拒绝访问。.....原创 2022-07-21 16:12:19 · 3491 阅读 · 10 评论 -
【全志T113-S3_100ask】2-编写第一个驱动
关于KERN_DIR,本环境使用的是buildroot,通过GitHub把kernel下载下来的,源码在./buildroot-100ask_t113-pro/buildroot/dl/linux/git下,但是该源码未经过编译,而上一节已经编译过buildroot生成镜像img了,那就是已经编译过了,但是指定该目录编译不了。./output/host/opt/ext-toolchain/bin/arm-linux-gnueabi-gcc是原始的。在这里我使用链接后的gcc。.........原创 2022-07-20 19:52:26 · 3860 阅读 · 1 评论 -
【全志T113-S3_100ask】1-编译buildroot初体验
接触了一块新的开发板资源1资源2序号1RESET复位按键,主要用于复位系统使用。序号2用户按键,可自定义功能。序号3TF卡卡槽,用于读取TF卡并支TF卡启动系统。序号4XR829无线模组配套的ANT天线接口。序号5Debug接口,用于串口输出,显示系统信息,调试登录等。序号6OTG接口,主要用于烧写SPI-NAND系统使用,也可用于ADB调试。序号7电源供电切换开关,用于切换供电方式是OTG口还是DC电源口。序号8DC接口,用于接入专用电源适配器给开发板独立供电。.........原创 2022-07-20 17:38:30 · 12741 阅读 · 9 评论