CC1310怎么能设置成电平或高电平触发中断了?谢谢
PIN_BM_OUTPUT_BUF|PIN_BM_SLEWCTRL|PIN_BM_DRVSTR)
#define PIN_BM_INV_INOUT (1<<24) ///< Bitmask for input/output inversion option
#define PIN_IRQ_NEGEDGE (PIN_GEN|(0x5<<16)) ///< Enable IRQ on negative edge
#define PIN_IRQ_POSEDGE (PIN_GEN|(0x6<<16)) ///< Enable IRQ on positive edge
#define PIN_IRQ_BOTHEDGES (PIN_GEN|(0x7<<16)) ///< Enable IRQ on both edges
#define PIN_BM_IRQ (0x7<<16) ///< Bitmask for pin interrupt option
Felix ZF:
可以参考pinInterrupt例程
/*
* Application button pin configuration table:
* – Buttons interrupts are configured to trigger on falling edge.
*/
PIN_Config buttonPinTable[] = {
Board_PIN_BUTTON0 | PIN_INPUT_EN | PIN_PULLUP | PIN_IRQ_NEGEDGE,
Board_PIN_BUTTON1 | PIN_INPUT_EN | PIN_PULLUP | PIN_IRQ_NEGEDGE,
PIN_TERMINATE
};/*
* ======== buttonCallbackFxn ========
* Pin interrupt Callback function board buttons configured in the pinTable.
* If Board_PIN_LED3 and Board_PIN_LED4 are defined, then we'll add them to the PIN
* callback function.
*/
void buttonCallbackFxn(PIN_Handle handle, PIN_Id pinId) {
uint32_t currVal = 0;/* Debounce logic, only toggle if the button is still pushed (low) */
CPUdelay(8000*50);
if (!PIN_getInputValue(pinId)) {
/* Toggle LED based on the button pressed */
switch (pinId) {
case Board_PIN_BUTTON0:
currVal = PIN_getOutputValue(Board_PIN_LED0);
PIN_setOutputValue(ledPinHandle, Board_PIN_LED0, !currVal);
break;case Board_PIN_BUTTON1:
currVal = PIN_getOutputValue(Board_PIN_LED1);
PIN_setOutputValue(ledPinHandle, Board_PIN_LED1, !currVal);
break;default:
/* Do nothing */
break;
}
}
}