Use a class whenever you need to store some context data along with the functions manipulating the HW peripherals. A typical scenario is the UART which uses some RX and TX buffers. Use a simple C-style otherwise, but it is advised to wrap the interface into a namespace as proposed in existing header files.