回調函數設置
我是最近才接觸ccs,不是很了解為甚麼回調函數沒有被使用到,請幫忙解惑,謝謝
(底下程式有作一些刪減,原式太長了)
static PIN_Handle testoutputpin;
static PIN_State testoutputpinState;
static PIN_Handle testinputpin;
static PIN_State testinputpinState;
PIN_Config testpinoutputTable [] =
{
IOID_23 | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX,
PIN_TERMINATE
};
PIN_Config testpininputTable[] =
{
IOID_21 | PIN_INPUT_EN | PIN_PULLUP | PIN_HYSTERESIS, //PIN_IRQ_NEGEDGE
PIN_TERMINATE
};
void outputCallbackFxn(PIN_Handle handle, PIN_Id pinId)
{
val = PIN_getInputValue(IOID_21);
if (val == 1)
{
PIN_setOutputValue(testoutputpin,IOID_23,1);
}
}
void *mainThread(void *arg0)
{
#ifdef Board_shutDownExtFlash
Board_shutDownExtFlash();
#endif
PIN_init(testpinoutputTable);
PIN_init(testpininputTable);
testoutputpin = PIN_open(&testoutputpinState,testpinoutputTable);
if(!testoutputpin) {
while(1);
}
testinputpin = PIN_open(&testinputpinState,testpininputTable);
if(!testinputpin) {
while(1);
}
if (PIN_registerIntCb(testinputpin, &outputCallbackFxn) != 0) {
while(1);
}
}
看我个性签名档的《简单粗暴学蓝牙5》,看《香瓜CC2640R2F之自定义按键》,拿我驱动去改,很简单。
好的,會多參考,謝謝
建议您单步调试一下程序查找问题,另外也可以参考一下TI协议栈内例程进行PIN的设置