CSR86XX GPIO初始化设置
默认情况下某些复用PIO口如果要作为按键使用,可能会因为初始化状态不对造成开机困难或者其他不可预料的异常情况,可以通过以下方式修改复用GPIO来做为按键使用:通过PSTOOL修改PSKEY:_INITIAL_PIO_STATE(PIO 0~15)或INITIAL_PIO_STATE2(PIO 16~31)的值,该键值里有6个WORD,主要需要修改的是前4个WORD,最后2个不用修改的话就设为0000即可。第一个是设置对应的PIO,需要修改的设定成1,不需要修改的用0;第二个是控制方向:0是input,1是output;第三个是设定上拉下拉,0是下拉,1是上拉;第四个是设置偏压强度,0是weak,1是strong;
注释:按键属性的GPIO一般是weak pull-down的方式,如:
另,需要把设置好的二进制值转换为十六进制值写入
例:使用CSR8640芯片,设置按键为以下情况:
这种情况下开机就会有问题,因为PIO 1、8、9的初始化状态
和默认按键的PIO6、7、18、19、20、21的不同
造成了经常开机失败和一些别的BUG,所以通过修参数为0302 0000 0000 0000 0000 0000便可解决。 主要解决莫名的不开机问题 支持,写的不错,学习了。 哈哈这个貌似我问过:lol 很不错,谢谢分享.感谢楼主 :loveliness:学习了 感谢楼主 感谢:)~~~~ 学习了,谢了! kindtait2008 发表于 2013-9-20 18:05
学习了,谢了!
:)学习了,谢了! 谢谢分享。。。