Hello,最近在研究BL70x的KeyScan使用方法,发现没有相关的例程,能否说明如何使用KeyScan功能呢?谢谢!
当前的使用方法是:
GPIO_FUN_KEY_SCAN_DRIVE
GPIO_FUN_KEY_SCAN_IN
GLB_Set_QDEC_CLK
GLB_AHB_Slave1_Clock_Gate(DISABLE, BL_AHB_SLAVE1_KYS);
KYS_Init
KYS_Enable
请问这里的使用方法有问题吗?
顺便问下,最近在做Sipeed的键盘项目,希望申请一块BL706_IOT开发板(现在用的BL702引脚数量太少测试不方便),可以联系QQ:309670104,谢谢!
metro 你好,可以放出来你的code看一下
Alvin 稍等,晚些时候再发上来。现在没有相关的例程可以参考吗?
Alvin 找到问题了,应该是因为使用了GPIO24-GPIO28这几个引脚,而当前使用的BL702是合封了Flash的版本,这些引脚默认的功能被配置为GPIO_FUN_FLASH_PSRAM,应该是被用作Flash引脚了。不使用这几个引脚的情况下,程序可以正常运行,可以观察到键盘扫描的波形。
GPIO_FUN_FLASH_PSRAM
Alvin 今天试着把GPIO23-GPIO28相关的引脚的IO改成其它功能,发现有些IO(例如GPIO25)在修改后芯片就不能正常工作,可能和这些引脚是SF2_*相关引脚有关。这个怎么解决呢?
例程这边测试好以后会发出来
顺便问下,看到KeyScan有个ghost key detection的功能,这个功能的原理是什么,硬件上需要怎么设计呢?
metro 702如果想使用 23-28,需要在程序开始调用GLB_Select_Internal_Flash()