Normally in low level programming, when you write a value to an address, you are just changing a value in RAM. However, hardware designers hardwire the computer to “intercept” certain addresses to let software control other things. They might make it so that whenever you write an integer to 0x123abc, a specific pin on your chip goes to almost 5V whenever you write a value other than 0 to it (and to almost 0V when you write 0). If you connect that pin to a relay controlling a motor (likely with the help of some basic amplifier circuit), you can then start and stop a motor as easily as setting a variable to 1 or 0.
Latest Answers