如何将QCC5127的PIO2作为普通PIO口使用

描述

 

本文介绍如何将QCC5127的PIO2作为普通PIO口使用。猜测:该方法除了适用于PIO2,应该也同样适用于PIO32、PIO34、PIO35、PIO36、PIO37和PIO39,但这几个PIO口都没有验证测试,如果发生与PIO2类似的问题,可能就是同一个原因。

测试工具

MDE:MDE_WIN_2.3.2.126

Toolkit:NULL

QACT:NULL

Hardware:高通官方QCC5127开发板

Software:ADK QCC512X ROM V21 WIN 6.4.2.21,sink

问题来源

有小伙伴用QCC5127设计了一款耳机,把PIO2当做了一个按键。用ADK configuration tool将PIO2配置为按键,期望PIO2为内部上拉,当有按键按下时PIO2变为低电平。

实际测试,当上电后,PIO2确实输出高电平,感觉内部上拉没啥问题(实际上可能还是有问题),当power on后,PIO2直接变成了低电平。

猜测sink代码中有对PIO2的操作,查找代码未发现。

问题明朗

查看高通的开发板原理图发现PIO2、PIO32、PIO34、PIO35、PIO36、PIO37和PIO39,已经有重要任务在身了:

Button

该芯片是一颗QSPI RAM,因为QCC5127支持外挂RAM,这个其他芯片,像QCC5121之类的,都是没有的,因此猜测在QCC5127代码中(也有可能是一些看不到的底层代码)有对这些PIO口有占用,导致无法正常使用PIO2。

进一步寻找,终于在sink工程的subsys0_config10.htf文件中看到了相关的配置:

Button

这个正好与原理图吻合,证明了后台程序有对这些PIO口进行操作,将其关闭即可。

解决方法

设置EnableAudioSqif= false。

注释掉除了EnableAudioSqif= false以外的其他内容。

rebuild程序测试,将PIO2配置为一个按键,发现已经能正常工作了。

这样操作的前提条件是QCC5127在使用过程中没有用到外部的QSPI RAM,否则,就不要再折腾了,因为这几个PIO口需要用来控制RAM芯片。

 

责任编辑:xj

       原文标题:QCC5127无法配置PIO2为button的解决方法

文章出处:【微信公众号:蓝牙】欢迎添加关注!文章转载请注明出处。

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分