Page 95 - Toucpad robotics C11
P. 95
Bitwise Operations: Directly manipulating individual bits within registers to control hardware features (e.g., turning
u
a specific pin on/off).
Pointers: Directly accessing memory locations, a powerful but advanced feature.
u
Example (Basic Embedded C for a LED)
This simple code would make a Light Emitting Diode connected to Port 1 of a microcontroller blink on and off repeatedly.
Interrupts: Responding to Events Immediately
Description
An interrupt is a signal that temporarily stops the Central Processing Unit’s current main program execution to handle a
higher-priority event. Once the event is handled (by an Interrupt Service Routine), the Central Processing Unit returns to
the point where it left off in the main program.
Purpose
This is crucial for real-time systems like robots, where immediate responses to external events (like a sensor detecting
an obstacle or a button being pressed) are necessary, without having to constantly check for them in the main program
(which is inefficient).
How it Works
An external event (e.g., a signal from a touch sensor, a timer reaching a specific count) triggers an interrupt.
u
The Central Processing Unit immediately suspends its current task.
u
It jumps to a special function called the Interrupt Service Routine, which contains the code to handle that
u
specific event.
After the Interrupt Service Routine finishes, the Central Processing Unit returns to execute the instruction it was on
u
before the interrupt occurred.
Application in Robotics
Emergency Stop: If an emergency stop button is pressed, an interrupt can immediately halt all robot movement,
u
regardless of what the main program was doing.
Sensor Event Handling: When a proximity sensor detects an object, an interrupt can trigger immediate obstacle
u
avoidance routines.
Motor Control: For precise motor control, encoders often generate interrupts for every small rotation, allowing the
u
microcontroller to accurately track the motor’s position and speed in real-time.
Communication: Receiving data through Universal Asynchronous Receiver-Transmitter or Inter-Integrated Circuit
u
can often trigger interrupts when new data arrives, so the microcontroller doesn’t have to constantly check for it.
93
Computing System

