- 博客(65)
- 资源 (4)
- 收藏
- 关注
原创 esp32s3测试ssd1306
本文介绍了两种使用Arduino驱动OLED屏幕的案例。第一个案例展示了基本的I2C连接和初始化方法,通过在屏幕上显示测试信息来验证OLED功能。第二个案例结合WiFi功能,创建了一个热点并实时显示连接的客户端数量。两段代码均采用Adafruit_SSD1306库,配置了自定义I2C引脚,包含错误检测机制,并演示了文本显示功能。第一个案例提供简单的硬件测试,第二个案例展示了网络功能与屏幕显示的交互,实现了每秒更新连接状态的实用功能。
2025-11-20 13:39:36
113
原创 ESP32C3 Linux IP Display
📝 ESP32C3 Linux IP Display 摘要 一款基于 ESP32C3 的 USB 供电 OLED 显示屏解决方案,实时显示 Linux 服务器的 LAN/WAN IP 地址。核心特点: 🔹 硬件方案 采用 ESP32C3 Super Mini + 72×40 SSD1306 OLED USB 供电与通信一体化设计 自动识别 VID=303A 的 ACM 设备 🔹 功能特性 实时刷新 IP 地址(每秒更新) LED 新消息指示灯 OLED 自动换行显示(支持4行内容) 完整的 syste
2025-11-20 11:08:09
743
原创 nuttx实战项目2:蓝牙有线通信板之五,项目需求整理
主线程按钮+LED线程通路状态:数据转发规则:CRC:长度+类型+数据体求和取余”通路切换包::wire通路:ble通路5. 按钮行为BUTTON_ZERO_IBP1:,发送到当前上位机BUTTON_ZERO_IBP2:,发送到当前上位机BUTTON_ZERO_HEMO:,发送到当前上位机BUTTON_BLUE_PAIR:向BLE_MODULE_UART定向发送6. LED管理LED名称:控制接口:
2025-10-17 10:23:33
348
原创 nuttx实战项目:多路串口合并功能之四串口遗留问题解决
如前述文章五,经过初步调试后,发现的串口 TX 引脚无法输出(使用测试其他串口的同样软件验证过)。
2025-10-14 19:07:00
438
原创 nuttx实战项目2:蓝牙有线通信板之零,项目描述以及环境搭建
前面使用了实现了一个类似 UART hub 的项目,最近接手了一个的项目。由于 AI 对 Linux 应用编程十分强大,并且该项目对实时性的要求不是很高,我们希望将引入到项目中,以简化开发流程。但是,关于 STM32F205,在官方对 NuttX 的支持上存在一些问题。据我了解,官方支持最完善的是和,因此以后如果大家打算使用 NuttX 做项目,,这样驱动、调试会更顺利。目前 NuttX 对 STM32F205 的支持还存在较多问题,不过这也正好可以锻炼自己的调试能力。
2025-10-14 10:45:55
224
原创 nuttx实战项目:多路串口合并功能之八主app程序设计
在当今的开发环境中,从提升公司和个人效率的角度出发,将AI工具用于代码生成无疑是一个高效的选择。
2025-10-11 17:38:29
414
原创 nuttx实战项目:多路串口合并功能之九主app需求(copilot版本)
硬件/串口拓扑MAIN 串口: /dev/ttyS1(与上位机连接)设备串口: /dev/ttyS2, /dev/ttyS3, /dev/ttyS4, /dev/ttyS5(四个物理端口)并发模型main_rx_thread: 解析 MAIN 下行帧并按设备类型转发给已绑定端口。detect_thread: 设备类型探测、BRAIN_O2 心跳、热拔出检测、状态上报。主线程: poll 已绑定端口,读取设备数据并打包上送 MAIN。关键设计点。
2025-10-11 17:36:43
288
原创 nuttx实战项目:多路串口合并功能之十主app程序设计(copilot版本)
【代码】nuttx实战项目:多路串口合并功能之十主app程序设计(copilot版本)
2025-10-09 11:05:09
438
原创 nuttx实战项目:多路串口合并功能之七主app需求设计
串口多路转发(主机 ↔ 外设)初始化探测 + 热插拔探测设备超时释放与自动重新绑定特殊设备(Brain_O2)保活机制设备状态心跳上报(统一 4 设备状态)上位机与外设的数据帧封装与校验串口名通过宏定义灵活配置。
2025-09-30 16:50:06
690
原创 nuttx实战项目:多路串口合并功能之六nuttx项目基本优化
在开机后自动运行;提供实时的内存占用情况查询;针对项目需求优化串口驱动与 DMA 缓冲区配置。接下来,我们将继续进入 yumo_intelligence的功能设计与实现阶段。
2025-09-30 09:42:36
186
原创 nuttx实战项目:多路串口合并功能之五串口功能测试
在这一篇中,我们针对目前需要用到的串口进行测试,用来确认系统底层是否已经正确配置。由于 NuttX 项目框架还不是很完善,所以并不是“打开某个宏,功能就一定可用”,因此必须进行一些实际测试。
2025-09-29 19:22:34
153
原创 nuttx实战项目:多路串口合并功能之三串口的修改
接下来,我们将增加一个自定义应用,并将其编译到系统中。目标功能:实现一个简单的Hello App这将作为我们移植的第一个用户级程序。默认工程控制台使用USART2,需手动改为USART1修改menuconfig配置并补齐board.h中的 GPIO 定义串口功能验证成功下一步将添加自定义应用,完善系统功能。
2025-09-29 16:51:52
397
原创 nuttx实战项目:多路串口合并功能之二编译以及烧录代码
由于我们手上的主板是,首先需要确认 NuttX 是否已有对应的支持。结果发现并没有对应的板级配置。发现以下板子使用了通过对比芯片手册可以知道:结论:选择,烧录到板子上是可行的,只要镜像不超过就不会有问题(后续需要修改存储相关配置,这里先埋个坑)。根据经验,选择作为参考板更合适 —— 它是 ST 官方开发板,用户群体大,社区也比较主流。
2025-09-29 16:02:05
366
原创 nuttx实战项目:多路串口合并功能之零项目需求
最近笔者正在着手一个新项目,目标平台选择了,恰好手头也有相应的开发板。由于项目本身比较简单,但又希望在后续具有更好的可移植性,因此决定采用作为操作系统。
2025-09-29 14:11:56
387
原创 榴莲派f1c100s 系统极致精简
由于我们项目的需求十分的简单,但是因为涉及到图像分析,所以又需要一个linux作为载体,这样软件编写简单,开发难度小,于是乎,构建一个成本最低的linux的平台,就成为了我们的迫切所需。目前我们选定使用榴莲派的f1c100s作为基本开发平台,计划先从flash入手,系统系统的flash是16MB,我们经过评估,希望将其裁剪到4MB的样子。这样可以节省成本,由于系统内存是32MB的,并且不可更换,所以我们可以尽量地利用内存,以使得在现有的成本之上榨干性能。
2025-08-21 16:24:12
928
原创 天嵌开发板的wifi模块(rtw88_8821cs)模块load过程
rtl8821cs: wifi:其标明sdio总线上有wifi模块,那么sdio在初始化的时候会通过cmd总线读取外设的寄存器,从而在/sys/bus/sdio/devices/mmc0:0001:1/modalias下生成数据:sdio:c07v024CdC821。1.首先查看:tq_imx8mp_sdk/kernel-6.1.55/arch/arm64/boot/dts/freescale/imx8mp-evk.dts。rtw88_8821cs,那么就会loadrtw88_8821cs模块。
2025-05-28 13:28:56
213
原创 开发板+freertos+lvgl学习1
开发板一般都是将引脚引出,所以i2c1并没有上拉电阻,导致调试出现问题,在这里需要手工焊接上拉电阻4.7k到3.3v。之前手头没有4.7k的,只能使用10k的弱上拉,然后导致i2c只支持100k的传输速率。最近找到了一块开发板,并且买了一个手表屏幕,准备学习下lvgl+freerots。这里只有三个按键中断和触摸屏的中断,其他暂时不需要,后续如果需要再次添加。##gpio配置如下,注意中断引脚必须内部上拉。余下led开头的表明主板上的两个灯,用于调试。K开头的表明按键引脚,主板有三个按键。
2024-10-23 11:32:36
484
原创 st7735 stm32f103 lvgl调试记录3,spi篇
将spi1打开,然后将引脚换过去,然后将函数前面注释掉,直接使用hal提供的spi函数,结果一次成功,有点过分。后面的就剩下给lvgl提供的中断没有调试通过了。
2024-09-24 17:00:49
368
原创 st7735 stm32f103 lvgl调试记录2
整个stm32工作再72mhz下面,注意要设置一个timer,其实现在没啥用,最后移植lvgl才需要,我们第一步是将lvgl需要的lcd_init,和lcd_set_area两个函数剥离过来,使其可以在这种环境下使用,此时纯gpio驱动,1.肯定是配置stm32cube,注意每个引脚,第一步我尝试通过软件模拟spi时许,也就是测试程序自带的,尝试是否可以,这样的话,可以最小化的引入变化,也更利于学习。下面的调试重点,第一是将这个raw pin的方式改成spi的传输方式,这样应该可以增加刷新率吧。
2024-09-24 16:44:06
536
原创 st7735调试记录
后面还是重新安装了mdk-arm 525版本,注意该版本是最后一个支持keil4工程的版本,好像还需要下一个什么补丁来的,反正编译程序后可以顺利点亮,这就无所谓了,证明了程序和液晶都是好的,那么后面就是移植lvgl了。于是到网络上找到如下资料进行验证: https://pan.baidu.com/s/1CEunLuGUqLABR6I0UZG-Sg 提取码: fjzc。由于该模块陪我已经超过十年,最近想起来学习下lvgl,于是乎将其拿出来,尝试使能该模块从而学会lvgl。
2024-09-24 10:20:10
301
原创 ws2812b效果研究之九 RGBSetDemo
代码中的颜色变化和数组部分复制操作,结合fadeToBlackBy函数,使得整个效果具有很强的视觉动感,非常适合用于LED装置的动态光效展示。这一行代码使用CRGBArray提供的operator()函数,将前50个LED的颜色值复制到后50个LED上,但顺序是倒序的。例如,第1个LED的颜色会复制到第100个LED上,第2个LED的颜色复制到第99个LED上,依此类推。该代码的主要作用是在一个100个LED的阵列上创建一个动态的颜色变化效果,并使用CRGBArray类提供的功能来处理部分LED的操作。
2024-08-31 19:52:29
596
原创 ws2812b效果研究之八 pride2015
这个代码生成了一个动态、渐变的彩虹动画效果。通过使用FastLED库的高级功能,如beatsin88、sin16、nblend等函数,代码能够创造出复杂、多变的色彩效果。整体效果是一个不断变化的彩虹,具有丰富的色彩渐变和亮度变化,非常适合用于LED装置中的视觉效果展示。
2024-08-31 19:35:51
644
原创 ws2812b效果研究之七 Pacifica
这个"Pacifica"动画模拟了多层波浪的效果,每一层波浪独立移动,叠加后通过加深颜色和添加“白帽子”形成逼真的海浪效果。代码使用了复杂的数学函数(如sin16和beatsin16)来控制波浪的速度、振幅和频率,生成自然且动态的视觉效果。代码结构复杂,但展示了FastLED库的强大功能和灵活性,非常适合高级使用者研究。这段代码创建了一个名为"Pacifica"的LED灯光动画,模拟了柔和的蓝绿色海浪效果。
2024-08-31 19:25:53
392
原创 ws2812b效果研究之六 FirstLight
就是一个白色的点向上发射,为了看起来不卡顿,帧率一定要上去,最好达到100帧(也就是delay(10))
2024-08-31 18:47:31
239
原创 ws2812b效果研究之四 DemoReel100.ino
3.confetti: 随机彩色小点闪烁,平滑渐变。类似下雨的效果,由于hue的变化,导致了动态的颜色变化效果(hue变化和不变化产生两种效果)4.sinelon: 一个彩色点往返移动,带有渐隐尾迹。(hue不变就是红色,变的话就是每隔20ms都会变呀)6.juggle: 八个彩色点互相交替移动。hue变化和不变化差距不大。2.rainbowWithGlitter: 在彩虹效果中添加闪光点。5.bpm: 按一定的节拍脉动着不同颜色的条纹。1.rainbow: 生成彩虹效果。上面这句话会导致色彩的变化.
2024-08-31 18:27:39
402
原创 ws2812b效果研究之三 ColorTemperature
例子一段时间显示A色温,然后黑一段,再显示B色温,通过第一个led的颜色来标识当前是什么色温。当然里面的fill_rainbow函数值得分析,稍后移植到stm32的时候会进行分析。对应于arduino中的fastled库中的ColorTemperature例子,没啥好说的,也没啥算法,简单就可以理解。
2024-08-31 17:46:25
300
原创 nuttx实战项目:多路串口合并功能之六串口遗留问题解决
在下新增自定义目录即可快速创建 APP修改KconfigMake.defsMakefile即可完成注册编译烧录后,应用会出现在 NSH 的内置应用列表中下一篇将分享串口测试与数据收发验证的过程。
2024-08-30 19:33:19
945
原创 ubuntu强密码支持
添加或修改包含pam_pwquality.so的行,以设置所需的密码复杂性要求。接到新需求,欧盟需要ubuntu使用强密码,网络上找到一个包可以增加ubuntu密码增强机制,以下是调试过程。retry=3:指定用户在pam_pwquality模块返回错误之前可以尝试输入密码的次数。minlen=12:将密码的最小长度设置为12个字符。ucredit=-1:要求至少一个大写字母。lcredit=-1:要求至少一个小写字母。ocredit=-1:要求至少一个特殊字符。dcredit=-1:要求至少一个数字。
2024-04-02 13:39:11
860
原创 英伟达tx2光驱烧录功能支持
好吧,在linux/fs目录下搜索,找到对应的宏,打开编译成模块,顺带打开了Kconfig里面的两个针对iso9660的参数。dmesg没有log。由于现在使用的dvd-R,只能写一次,所以测试的很少,因为测试一次,就废了一张盘,目前还有的问题就是上面的命令没办法写太大的文件(有可能并不是问题,只是测试方法不对而已)将光驱插入到目标平台(tx2)发现没任何反应,光驱也不动,后台看到系统可以识别usb设备,然后就没了,和台式机linux相比,少了一些sr的log。至此,系统可以正确读取已经烧录过的光盘了!
2024-03-13 20:54:42
497
原创 tegra nvidia agx xaiver 系统开机自动启动风扇配置方法
5.鼠标点击选项进入nvidia jtop配置页面。6.按照步骤点击达到与下面的图片配置相同。4.打开NVIDIA jtop工具。3.安装nvidia对应工具。重启验证是否风扇可以满速运行。
2023-11-16 14:33:56
403
原创 基于SPI+DMA方式的ws2812b氛围灯控制
好处:相比于gpio控制,可以大大节省CPU的时间,CPU只要将要传输的数据计算好放入内存中,然后发动DMA传输即可,后续整个过程并不需要CPU干预,CPU可以用于做其他的事情。特别是某些带蓝牙的芯片,需要给到CPU足够的时间进行协议栈的维护。我们将SPI的速率设置到3.2M/s,那么每个spi的比特位对应的是312.5ns,此时若spi的数据是4’b1000,那么则对应ws2812b的0 code,如果spi的数据是4‘b的1110,那么则对应ws2812b的1 code。好处是可以节省25%的内存。
2023-11-14 14:39:00
531
原创 superpowered 关于audio latency的文章描述结构
superpowered 关于audio latency的文章描述结构1.开篇第一个文档,讨论了android 10ms问题Android Audio’s 10 Millisecond Problem: The Android Audio Path Latency Explainer.2.第一个文档升级版本,讨论了10ms在android6.0上的更改Rebooting Android’s 10 Millisecond Problem: Audio Latency Improvements in A
2021-03-02 14:52:32
762
原创 make update-api
之前做过的项目,上层同事更改过之后,我作为驱动,想编译整体代码,中间还要经历make update-api。这与我之前的android编译经验不符。但是又苦于不懂上层,所以也没刨根问题。最近负责项目,有遇到这个问题,就找了一些资料总结下原来,google会对所有的api进行检查,然后参考frameworks/base/api/current.txt里面去对应framework/base下面的所...
2020-02-19 12:18:34
827
原创 瑞芯微rk3368(px5)编译环境搭建
1.安装ubuntu 14.042.下载必要的包sudo apt-get updatesudo apt-get install sshsudo add-apt-repository ppa:openjdk-r/ppasudo apt-get updatesudo apt-get install openjdk-8-jdk sudo apt-get install lzop git-c...
2020-02-19 09:10:59
2159
原创 rockchip rk3368(px5)车载开发之路-bug解决篇1.快速倒车和正常系统倒车可能出现摄像头绿屏现象
bug描述:开机过程中,某些时候打开倒车摄像头会绿屏。原理分析系统在启动过程中,前十几秒由于系统没有进入android,所以是处在快速倒车过程中,此时的实现方式是直接获取摄像头数据然后给到显示系统去显示。进入android系统后,则是底层发送消息给到android负责启动某个app,所以快速倒车(linux内核负责)和正常倒车(android负责)比较明显的差异就是有没有倒车线(andro...
2020-02-18 17:41:20
2009
rknn_demo.tgz
2019-11-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅