Interrupt functions

Navigation:  Programming language SQC > Interrupts >

Interrupt functions

Previous pageReturn to chapter overviewNext page

The interrupt function is defined by the preprocessor definition #interrupt <interrupt vector number>

and called if the correspoding interrupt is raised.

 

SQC provides five interrupt types:

 

   IV_TCP         /* Network TCP */

   IV_UDP         /* Network TCP */

   IV_RS232       /* UART interface */

   IV_GPIO        /* GPIO inputs */

   IV_TIMER       /* Timer interrupts */

 

Example:

 
 

#interrupt IV_TCP  // this ist the type of interrupt haendler

void isr_tcp( int port, int sd, char *data, int datalen )

{

   /* port - TCP port in this case 4711 

   /* sd - socket descriptor for response 

   /* data - pointer to data 

   /* datalen - the length of received data

 

 

   /* make something with the data */

   printf("Received data : %s , size %d \n", data, datalen);

   /* send data back to client */

   swrite(sd, data, datalen, 1000);

}

 

int main

  (void) 

{

    /* open listener on port 4711 */

    int server_socket = sopen(TCP,4711);

    

    /* main loop */

    while(1){}

    sclose(server_socket);

    return 0;

}