Linux中QT应用IO状态设置失效问题

问题:在进入freeze休眠前需要设置特定IO关闭电源灯操作,唤醒后需要将特定IO恢复原来正常工作状态,此时出现偶然性(概率很低)的IO控制失效问题;【平台:君正X1600HN】

一、问题点分析

1、电路

  • GPIO电流驱动能力排查

2、检查 GPIO 是否被其他外设复用

排查方法:

  • 检查设备树
  • 尝试禁用其他外设驱动,排除干扰

3、驱动设置问题

  • 查看设备树的对应IO配置是否设置正确

4、IO口竞争

  • 中断干扰
  • 系统任务调度延时(采用实时性更好的驱动方法,如gpio_set_value)

二、解决思路

通过建立log日志的方式,把对应IO口时钟配置寄存器、复用功能寄存器、方向寄存器、状态寄存器这几个值存到一个文件中,然后等出现异常时候,查看文件里面寄存器的变化
① 进入休眠前记录这几个数据
② 唤醒后记录这几个数据

正常的IO状态

GPIO 功能 正常工作状态 睡眠状态 唤醒状态
PC25 CAN使能引脚 0 1 0
PD00 屏幕电源控制 1 0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值