自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 基于韦东山STM32MP157开发板实现智能家居项目(蓝牙驱动求助)

本文记录了基于STM32MP157开发板进行蓝牙驱动开发的尝试过程。作者原计划使用HC-05模块,后发现开发板自带AP6236 WiFi/蓝牙二合一模块(支持BT4.2)。通过分析设备树配置,确认SDIO接口用于WiFi、UART接口用于蓝牙,相关驱动已由官方配置完成。测试中虽能通过hciconfig和hcitool检测到蓝牙设备,但无法实现与手机端的配对连接。文章详细列出了设备树中关于WiFi、蓝牙和RTC的配置信息,并寻求解决手机端无法发现开发板蓝牙的问题。最终目标功能未能实现,期待获得相关技术指导。

2025-12-10 10:46:52 551

原创 基于韦东山STM32MP157开发板实现智能家居项目(ADCq驱动-MQ135气体传感器实现)

摘要:本文记录了解决STM32MP157开发板ADC驱动问题的过程。主要发现两个关键问题:1)未重新编译内核镜像导致驱动未生效;2)设备树中regulator节点位置错误。详细描述了重新编译内核、设备树和模块的完整步骤,包括文件替换和重启验证过程。成功驱动后,通过读取/sys目录下的ADC值验证了3.3V电压输入。最后提供了一个MQ135气体传感器的测试程序示例,持续读取并计算电压值。整个解决方案实现了ADC功能的正常使用。

2025-12-02 13:20:48 705

原创 韦东山基于韦东山STM32MP157开发板ADC驱动求助

摘要:作者在开发MQ135空气质量传感器驱动时遇到问题,试图通过设备树配置ADC1通道0(ANA0)读取数据。发现ST官方已提供ADC驱动,只需正确配置设备树即可。但在调试过程中遇到"missing pins property"错误,修改pinctrl配置后仍无法在/sys/bus/iio/devices下看到预期数据。作者参考了韦东山教程和优快云博客中的驱动实现方法,但最终未能成功,希望获得相关指导解决该问题。

2025-12-01 13:40:38 790

原创 基于韦东山STM32MP157开发板实现智能家居项目(SR501人体红外驱动)

本文记录了SR501人体红外模块的Linux驱动开发过程。通过设备树配置将I2C引脚复用为GPIO输入模式,并实现了基于中断和定时器的驱动方案。文章重点指出调试过程中发现模块电位器调节的重要性,包括感应延时和封锁时间的设置对功能的影响。驱动程序中采用了GPIO子系统、中断处理和异步通知机制,最终成功实现了对人体活动的实时检测功能。

2025-11-25 12:36:16 635

原创 基于韦东山STM32MP157开发板实现智能家居项目(继电器驱动-AP3216C驱动)

摘要:本文详细介绍了STM32MP157开发板上继电器模块和AP3216C三合一传感器的驱动开发过程。继电器模块采用高电平触发方式,通过修改设备树和驱动程序实现控制,初始状态设为释放。AP3216C传感器驱动实现了对光照(ALS)、距离(PS)和照射强度(IR)数据的读取,采用I2C协议通信,数据读取时注意处理16位数据的高低字节顺序。文章包含完整的设备树配置、驱动程序代码和测试程序,并修正了开发板资源描述中的错误,确认实际存在AP3216C传感器而非AP6216。两种设备的驱动都经过实际测试验证功能正常。

2025-11-20 13:47:05 709 1

原创 基于韦东山STM32MP157开发板实现智能家居项目(GPIO驱动-SG90舵机)

本文介绍了在STM32MP157开发板上使用GPIO模拟PWM控制SG90舵机的实现过程。作者首先配置了设备树,定义了GPIO引脚(PD8)的PWM控制信号。在驱动程序中实现了两种方案:方案一采用平滑移动和死区控制,方案二直接设置目标角度。测试发现舵机存在2度左右的抖动,最终通过简化设备树配置解决了异常转动问题。文章详细记录了从设备树配置到驱动程序开发、测试程序编写的完整过程,对使用软件PWM控制舵机时可能遇到的问题提供了解决思路。

2025-11-12 11:52:45 459

原创 基于韦东山STM32MP157开发板实现智能家居项目(PWM驱动-SG90舵机)

本文介绍了SG90舵机的驱动开发过程,包括其工作原理、参数特性以及与STM32的接口连接方式。舵机通过PWM信号控制,脉冲宽度在0.5ms-2.5ms间变化,对应0°-180°角度变化。文章详细记录了设备树信息修改过程,但在实际测试中发现开发板PD8引脚无法复用为定时器通道,导致硬件PWM方案失败。最终改用软件模拟PWM方案,利用GPIO和内核定时器实现舵机控制,虽然精度可能受系统负载影响,但能满足50Hz的基本要求。同时提到后续可能尝试使用步进电机替代舵机。

2025-11-07 16:14:21 568

原创 基于韦东山STM32MP157开发板实现智能家居项目(DHT11驱动)

本文记录了DHT11温湿度传感器在STM32MP157开发板上的驱动开发过程。首先在设备树中添加DHT11节点,解决pinctrl配置缺失导致的引脚复用和电气属性问题。开发过程中遇到硬件连接错误(VCC误接5V)和时序精度问题,导致初始测试数据异常。通过修正硬件连接并优化驱动时序逻辑,采用GPIO轮询方式精确控制信号拉低/拉高时间,最终成功实现了温湿度数据的正常读取。该案例强调了硬件连接验证和时序精度在传感器驱动开发中的重要性。

2025-11-05 15:05:36 735

原创 基于韦东山STM32MP157开发板实现智能家居项目(LED驱动+蜂鸣器驱动)

摘要:本文介绍了在STM32MP157开发板上扩展蜂鸣器警报功能的过程。通过外接有源蜂鸣器(低电平触发)连接GPIOA5引脚,在原有LED设备树节点中添加蜂鸣器信息。驱动程序支持两种控制方式:1)同步控制LED和蜂鸣器(如./led_test on);2)单独控制指定设备(如./led_test /dev/led1 on)。测试程序实现了参数解析、设备开关控制功能,支持0/1和on/off两种参数格式,能同时或独立控制LED和蜂鸣器的开关状态。

2025-11-04 11:30:24 318

原创 基于韦东山STM32MP157开发板实现智能家居项目(LED驱动)

摘要:基于STM32MP157开发板开展智能家居项目开发,主要工作包含底层驱动和上层QT应用。首先完成LED驱动开发:1)使用platform_driver框架匹配设备树节点;2)修改内核设备树添加LED节点;3)编译部署设备树时发现GPIO被系统心跳灯占用,通过修改设备树解决冲突;4)完善驱动程序和测试应用,实现了LED开关控制功能。测试过程中解决了设备树节点匹配、GPIO占用、参数处理等问题,最终成功通过应用程序控制LED亮灭。下一步计划外接蜂鸣器进行扩展开发。(149字)

2025-10-30 11:57:36 834

原创 Linux文件IO操作(1)

本文介绍了Linux文件IO操作的核心概念,重点对比了标准IO和系统调用IO的区别。标准IO由C库提供,具有缓冲机制,适用于普通文件操作;系统调用IO由OS直接提供,无缓冲,可操作设备和普通文件。文章详细解析了open()和write()函数的参数及用法,并阐述了缓冲区的作用与刷新条件(缓冲区满/强制刷新/程序结束等)。标准IO通过用户空间缓冲区减少系统调用次数,提高效率;而访问驱动程序时必须使用系统调用IO。通过流程图形象展示了二者的工作流程差异。

2025-10-26 21:37:20 651

原创 韦东山Linux驱动开发快速入门(STM32MP157)- SR501

2.设备树所设置的SR501节点会被构造成一个platform_device,然后在编写驱动程序时,我们需要编写一个platform_drvier结构体与platform_device对应,platform_drvier结构体里面包含.probe、.remove、.driver等函数,同时也要写一个入口函数注册platform_drvier。1.编写驱动前首先要确定SR501的输出引脚与开发板相连的引脚,然后修改设备树节点,扩展板引脚为GPIOA 5。,修改设备树修改设备树。

2025-09-06 16:41:28 350

原创 韦东山Linux驱动实验班(STM32MP157)-2.SPI驱动

本文记录了在STM32MP157开发板上调试SPI驱动时遇到的问题及解决过程。作者对比了IMX6ULL和STM32MP157在设备树配置上的差异,发现后者需要额外增加GPIO引脚节点。调试过程中遇到设备树标签重复的错误,通过修改节点名称解决。但在继续DAC驱动实验时,发现虽然能查询到节点,驱动程序却无法正常创建设备节点。文章详细列出了驱动代码和应用代码,并希望与感兴趣的朋友交流解决方案。

2025-07-26 18:53:45 817

原创 韦东山Linux驱动实验班(STM32MP157)

本文总结了在STM32MP157开发板学习设备树驱动的经验。作者发现课程使用的是IMX6ULL设备树,而实际开发板为STM32MP157,在修改100ask-stm32mp157c-xxx.dts等文件时出现编译错误。通过回顾LED驱动实验发现,实际需要修改的是stm32mp15xx-100ask.dtsi文件,而最终使用的是stm32mp157c-100ask-512d-lcd-v1.dtb文件。通过研究,作者理解了DTS与DTSI的区别:DTS是具体设备的主描述文件,DTSI是通用的共享描述文件,类似于

2025-07-21 17:36:38 647 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除