GPIO interrupt question in MSP430X of freeRTO
Posted by Pascal Hernandez Schobert
on December 29, 2011
This is my first time that I'm working with a RTOS so I'm not sure if what I'm doing is correct. I'm using a MSP430FG4618 and I want to comunicate with an ADS1194 analog converter but this chip has a DRDY port (Data Ready port) so I'm wondering how could I manage the interrupts becase the freeRTOS just handle 1 (Timer interrupt) as far as I know.
I'm planning to enable the uC port interrupts once that I'm inside this task and then disable it once that I have finished all but I think that if a timer interrupt occurs it will affect the system, isn't it?
Just as a cultural information, the ADS1194 converter gives the information through SPI with 8 bits packages. I suppose to receive 6 packages in 1 cycle task. (so 6 DRDY ports interrupts will occur)
So any I idea how could I manage this constant interrupt that will be made by the interrupt port?
RE: GPIO interrupt question in MSP430X of freeRTO
Posted by Richard
on January 3, 2012
FreeRTOS uses only a single interrupt itself (to generate the time base), but does not limit your use of any other interrupts. It provides an API that allows tasks and interrupts to synchronise, and for data to be passed into and out of interrupts. Take a look at the "Interrupt Service Routines" section of the documentation page for the port you are using, and the API reference for any function that ends in "FromISR". You must not use an API function that does not end in FromISR in an interrupt.
Also look at the demo application that comes for the port you are using. Each demo has an example of at least one interrupt being used. In the MSP430X case, take a look at the serial.c file to find examples.
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.