我用官网SDK1.4.0SimpleBLEPeripheral例程做试验。
预编译添加HAL_KEY=TRUE
然后,
static void simpleBLEPeripheral_HandleKeys( uint8 shift, uint8 keys )
{
uint8 SK_Keys = 0;
VOID shift; // Intentionally unreferenced parameter
if ( keys & HAL_KEY_SW_1 )
{
SK_Keys |= SK_KEY_LEFT;
NPI_PrintString("KEY1 ANXIA!!!!");
}
。。。。。。。。。。。。。。。。。。。。。。
结果按下左键什么也不打印。
串口已搞好,按复位键可以打印东西。
请问高手,如何解决?谢谢!
ccb bcc:
RegisterForKeys( simpleBLEPeripheral_TaskID );P0SEL &= 0xFC; // Configure Port 0 as GPIOP0DIR = 0xFC; // Port 0 pins P0.0 and P0.1 as input (buttons),P0 = 0x03; // All pins on port 0 to low except for P0.0 and P0.1 (buttons)
我又在初始化加上这些,还是不行。
YiKai Chen:
回复 ccb bcc:
可以參考一下hal_key.c內的SW1怎麼設置
ccb bcc:
回复 YiKai Chen:
谢谢!找到一个问题。
static void simpleBLEPeripheral_HandleKeys( uint8 shift, uint8 keys )
我在这个函数末尾加了一句打印:
NPI_PrintString("KEY SCAN!!!!");
意思就是调用这个函数就算没有按键检测到也会打印,结果还是没有打印。
难道是没有调用这个函数?
YiKai Chen:
回复 ccb bcc:
應該是hal_key.c理面的按鍵触發沒有設置好才會沒有調用simpleBLEPeripheral_HandleKeys 这个函数
ccb bcc:
回复 YiKai Chen:
谢谢!那应该怎么设置呢?有例子吗?
YiKai Chen:
回复 ccb bcc:
例子就在hal_key.c理面
ccb bcc:
回复 YiKai Chen:
那照说例程就应该是好的呀,怎么会不行呢?
YiKai Chen:
回复 ccb bcc:
用TI官方開發板是好的啊
ccb bcc:
回复 YiKai Chen:
可是我没有官方开发板啊?那怎么办呢?
YiKai Chen:
回复 ccb bcc:
你有沒有看一下hal_key.c理的SW1怎樣設置、再跟据你的原理图去修改程序?