微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI无线射频设计 > CC1310中断

CC1310中断

时间:12-23 整理:3721RD 点击:

CC1310怎么能设置成电平或高电平触发中断了?谢谢

#define PIN_BM_OUTPUT_MODE  (PIN_BM_GPIO_OUTPUT_VAL|PIN_BM_GPIO_OUTPUT_EN| \
                             PIN_BM_OUTPUT_BUF|PIN_BM_SLEWCTRL|PIN_BM_DRVSTR)

#define PIN_INV_INOUT       (PIN_GEN|(1<<24))   ///< Logically invert input and output
#define PIN_BM_INV_INOUT    (1<<24)             ///< Bitmask for input/output inversion option

#define PIN_IRQ_DIS         (PIN_GEN|(0x0<<16)) ///< (*) Disable IRQ on pin
#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

这一块儿没说明怎么弄电平触发中断

可以参考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;

        }

    }

}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top