would you help me out with using CMSIS about the external interrup on WICED-SDK?

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Hi! all.

I just want to use the external interrupt with CMSIS directly on WICED-SDK-3.1.2, SSBWMN01.

At the first, I did not find the external interrupt handler name.

Although I can find the external interrupt handler name now, I've encountered the error message.


build/Hahm_peripherals_Ext_INT1-SSBWMN01-debug/libraries/External_interrupt_Test!!!.a(main_app.o):C:\Users\CYHahm\Documents\WICED\WICED-SDK-3.1.2\Wiced-SDK/apps/Hahm/peripherals/Ext_INT1/main_app.c:102: first defined here

make.exe[1]: *** [build/Hahm_peripherals_Ext_INT1-SSBWMN01-debug/binary/Hahm_peripherals_Ext_INT1-SSBWMN01-debug.elf] Error 1

tools/makefiles/wiced_elf.mk:215: recipe for target 'build/Hahm_peripherals_Ext_INT1-SSBWMN01-debug/binary/Hahm_peripherals_Ext_INT1-SSBWMN01-debug.elf' failed

make: *** [main_app] Error 2

Makefile:185: recipe for target 'main_app' failed

How can I resolve this error?

This is a my code ( I omit some code).

#include "wiced.h"

#define LED_T           GPIO_ToggleBits(GPIOB, GPIO_Pin_15) //Test LED Toggle

void init_GPIO( void );

void application_start( void )
{

    /* Initialize the WICED device */
    wiced_init();

    for(int i = 0 ; i < 3 ; i++)
        WPRINT_APP_INFO( ( "\n" ) );

    WPRINT_APP_INFO( ( "Start the Comm. with ADS1192!\n" ) );

    init_GPIO();

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE);
    SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOH, EXTI_PinSource11);

   //External interrrupt source GPIOH.11, The input interrupt signal is periodic about 200 Hz

    GPIO_InitTypeDef GPIO_EXTI_Structure;
    GPIO_EXTI_Structure.GPIO_Pin = GPIO_Pin_11;
    GPIO_EXTI_Structure.GPIO_Mode = GPIO_Mode_IN;
    GPIO_EXTI_Structure.GPIO_PuPd = GPIO_PuPd_NOPULL;
    GPIO_EXTI_Structure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOH, &GPIO_EXTI_Structure);

    EXTI_InitTypeDef EXTItypeStructure;
    EXTItypeStructure.EXTI_Line = EXTI_Line11;
    EXTItypeStructure.EXTI_Mode = EXTI_Mode_Interrupt;
    EXTItypeStructure.EXTI_Trigger = EXTI_Trigger_Falling;
    EXTItypeStructure.EXTI_LineCmd = ENABLE;
    EXTI_Init(&EXTItypeStructure);

    NVIC_InitTypeDef NVICtypeStructure;
    NVICtypeStructure.NVIC_IRQChannel = EXTI15_10_IRQn;
    NVICtypeStructure.NVIC_IRQChannelPreemptionPriority = 0x0F;
    NVICtypeStructure.NVIC_IRQChannelSubPriority = 0x0F;
    NVICtypeStructure.NVIC_IRQChannelCmd = ENABLE;
    NVIC_Init(&NVICtypeStructure);

    NVIC_EnableIRQ(EXTI15_10_IRQn);

    RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOH, ENABLE);

    init_GPIO();

    while(1)
    {    }
}


/*
* Handles key events
*/

void EXTI15_10_irq(void)      // error

{

    LED_OFF;

    if(EXTI_GetITStatus(EXTI_Line11) != RESET)

    {     

        LED_T;

        EXTI_ClearITPendingBit(EXTI_Line11);                    //Clear the interrupt flag

    }

}

void init_GPIO( void )
{
    GPIO_InitTypeDef    GPIOInit;

    RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE);

     //TEST LED
    GPIOInit.GPIO_Pin = GPIO_Pin_15;
    GPIOInit.GPIO_Mode = GPIO_Mode_OUT;
    GPIOInit.GPIO_Speed = GPIO_Speed_50MHz;
    GPIOInit.GPIO_OType = GPIO_OType_PP;
    GPIOInit.GPIO_PuPd = GPIO_PuPd_UP;
    GPIO_Init(GPIOB, &GPIOInit);

    LED_OFF;
}

0 Likes
1 Reply
Anonymous
Not applicable

Hey,

Can you please provide some more information with respect to the board that you are using.

You may want to check out the latest SDK . The download link is here.

Thanks,

AB

0 Likes