Traditionally the Linux kernel would be responsible for all hardware devices, but the Raspberry Pi makes it easy to add on new hardware that it’s almost impossible for the Linux kernel to keep up. To help this, wiringPi has a library of device drivers for some popular hardware devices.
These device drivers are not true device drivers in the Linux kernel terms, but are simple (and not so simple!) C libraries to use the existing wiringPi library to access the hardware devices via simple to use APIs.
Drivers so-far include the popular LCD character displays using the Hitachi HD44780U controller. A 128×64 bit graphical display, real time clocks, Gertboard and PiFace, original NES controllers and the MaxDetect range of sensors (e.g. RHT003, etc.)
To Use
To use the wiringPi devLib, you need to
#include <deviceHeader.h>
in your program, where deviceHeader.h is the name of the relevant device, and compile your program with both
-lwiringPi -lwiringPiDev
Each device library has its own method of initialization and so on. Please see the relevant pages for more information.