Thus far, in addition to considering some fundamental aspects of real-time computing and C programming, we have learned to program a computer to interact with a user through a keypad and display and written high-level and midlevel C functions for these devices. We have been relying on low-level driver functions for communicating with the user interface (UI) devices, which, because they are not part of the target computer itself, are called peripheral devicesPeripheral devicesInput/output (I/O)!peripheral devices for.
As we have seen, getkey() returns a character from the keypad and putchar_lcd() prints a character to the display. How do these low-level driver functions talk to their respective peripheral devices? The functions use the input/output (I/O) communication systemsInput/output (I/O)!communication systemsCommunication systems available on the target computer. In this chapter, we gain the necessary background in the field of digital communicationDigital communication and in digital signalsDigital signals to work with the specific communication systems available for our target computer.
In Lab Exercise 4, you will write getkey() and putchar_lcd() to complete the suite of UI functions developed in 4n,us. These lowest-level functions use the target computer's hardware digital interfaces to communicate directly with the LCD and the keypad. Background on the target computer's I/O hardware and programming is given in gt,l3,di.