¿Cuándo se necesita un controlador de dispositivo y cuándo está bien leer / escribir directamente en el puerto?

Me resulta difícil entender cuándo se necesitan controladores de dispositivo y cuándo está bien hablar directamente con un controlador de puerto a través del puerto serie / paralelo / USB / etc. provisto por el sistema operativo. conductor. Por ejemplo, Ejemplo 1 : tomemos OpenBCI , un hardware de...