System Reset and Initialization

Example of an NMI Interrupt Handler

The NMI interrupt is a multiple-source interrupt. An NMI interrupt automatically resets the NMIIE, OFIE and ACCVIE interrupt-enable bits. The user NMI service routine resets the interrupt flags and re-enables the interrupt-enable bits according to the application needs as shown in Figure 2−6.

Figure 2−6. NMI Interrupt Handler

Start of NMI Interrupt Handler

Reset by HW:

OFIE, NMIIE, ACCVIE

OFIFG=1

no

ACCVIFG=1

no

NMIIFG=1

no

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

yes

 

yes

 

yes

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Reset OFIFG

 

 

 

Reset ACCVIFG

 

 

Reset NMIIFG

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

User’s Software,

 

 

 

User’s Software,

 

 

User’s Software,

 

Oscillator Fault

 

 

Flash Access

 

 

External NMI

 

Handler

 

 

Violation Handler

 

 

Handler

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Optional

Set NMIIE, OFIE,

ACCVIE Within One

Instruction

RETI

End of NMI Interrupt

Handler

Example 1:

BIS #(NMIIE+OFIE+ACCVIE), &IE1

Example 2:

BIS Mask,&IE1 ; Mask enables only ; interrupt sources

Note: Enabling NMI Interrupts with ACCVIE, NMIIE, and OFIE

The ACCVIE, NMIIE, and OFIE enable bits should not be set inside of an NMI interrupt service routine, unless they are set by the last instruction of the routine before the RETI instruction. Otherwise, nested NMI interrupts may occur, causing stack overflow and unpredictable operation.

2.2.2Maskable Interrupts

Maskable interrupts are caused by peripherals with interrupt capability including the watchdog timer overflow in interval-timer mode. Each maskable interrupt source can be disabled individually by an interrupt enable bit, or all maskable interrupts can be disabled by the general interrupt enable (GIE) bit in the status register (SR).

2-10System Resets, Interrupts, and Operating Modes

Page 28
Image 28
Texas Instruments MSP430x1xx manual Example of an NMI Interrupt Handler, Maskable Interrupts

MSP430x1xx specifications

The Texas Instruments MSP430x1xx series is a family of ultra-low-power microcontrollers that are highly regarded in the embedded systems community for their versatility and performance. Designed for applications ranging from portable instrumentation to low-power industrial devices, the MSP430x1xx combines flexibility and efficiency with advanced features tailored for energy-sensitive applications.

One of the standout characteristics of the MSP430x1xx is its ultra-low-power operation. This series offers several low-power modes that can significantly extend battery life in portable devices. The microcontroller can be in active mode, low-power mode, or even in a deep sleep state, allowing developers to optimize power consumption based on the application's requirements. In fact, some configurations can operate at just a few microamps, making it ideal for battery-operated devices.

Another key feature is the 16-bit RISC architecture that provides powerful processing capabilities while maintaining a low power profile. The MSP430x1xx series supports a maximum clock speed of 16 MHz, allowing for efficient task execution while consuming minimal energy. This architecture ensures that programs run smoothly while the microcontroller remains energy efficient.

The MSP430x1xx is equipped with various integrated peripherals, including analog-to-digital converters (ADCs), timers, and communication interfaces like UART, SPI, and I2C. The inclusion of a powerful ADC enables the microcontroller to handle sensor readings with high accuracy, making it suitable for applications like environmental monitoring and medical devices. The integrated timers provide essential functionality for real-time applications, allowing for event-driven programming and precise timing control.

Memory options in the MSP430x1xx series are also robust, with configurations offering flash memory sizes from 1 KB to 64 KB. This flexibility allows developers to choose the optimal memory size for their specific applications, accommodating a wide range of requirements.

Additionally, the MSP430x1xx microcontrollers are designed with a wide operating voltage range, typically from 1.8V to 3.6V, making them compatible with various power sources and further enhancing their usability in diverse applications.

In summary, the Texas Instruments MSP430x1xx series of microcontrollers is an excellent choice for developers seeking low-power, high-performance solutions for embedded applications. With an efficient architecture, a rich set of peripherals, and flexible memory options, these microcontrollers are positioned to meet the growing demands of modern electronic designs, particularly in battery-powered and energy-sensitive applications.