Interruptions - Libelium Waspmote Technical Manual

Hide thumbs Also See for Waspmote:
Table of Contents

Advertisement

6. Interruptions

Interruptions are signals received by the microcontroller which indicate it must stop the task it is doing to handle
an event that has just happened. Interruption control frees the microcontroller from having to control sensors all
the time. It also makes the sensors warn Waspmote when a determined value (threshold) is reached.
Figure: Diagram of mode in Waspmote
Waspmote is designed to work with 2 types of interruptions: Synchronous and asynchronous:
Synchronous interruptions: They are scheduled by timers. They allow to program when we want them to
be triggered. There are 2 types of timer alarms: periodic and relative.
Periodic alarms are those to which we specify a particular moment in the future, for example: "Alarm
-
programmed for every 4
Relative alarms are programmed taking into account the current moment, eg: "Alarm programmed
-
for 5 minutes and 10 seconds". They are controlled through the RTC and the microcontroller's internal
Watchdog.
Asynchronous Interruptions: These are not scheduled, so it is not known when they will be triggered.
Types:
Sensors: The sensor boards can be programmed so that an alarm is triggered when a sensor reaches a
-
certain threshold.
Accelerometer: Waspmote's accelerometer can be programmed so that certain events such (as a fall or
-
change of direction) generate an interruption.
All interruptions, both synchronous and asynchronous can wake Waspmote up from the Sleep and the Deep
Sleep modes. However, only the synchronous interruption by the RTC is able to wake it up from the Hibernate
mode.
The Hibernate mode totally disconnects the Waspmote power, leaving only the battery powering the RTC to
wake Waspmote up when the time alarm is reached. Because of this disconnection, when the RTC generates the
corresponding alarm, the power in Waspmote is reconnected and the code starts again from the setup.
The way of detecting whether a reboot from the Hibernate mode has happened is to check whether the
corresponding flag has been activated. The activation of this flag happens when the
called, which must be done at the beginning of the setup part of the code. This way, when Waspmote starts, it
tests if it is a normal start or if it is a start from the Hibernate mode.
All information about the programming and operation of interruptions can be found in the
Programming Guide.
day of the month at 00:01 and 11 seconds". They are controlled by the RTC.
th
-67-
Interruptions
function is
ifHibernate()
Interruption
v8.2

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the Waspmote and is the answer not in the manual?

Table of Contents