No te recomiendo intentar empezar por ahi, no es el camino ni mucho menos. Cuando quieras controlar hardware vas a tener que empezar por MS-DOS y assembly o por un S.O. de 32 bits (lease Windows o *NIX) donde no se tiene acceso directo al hardware desde modo usuario, por lo tanto deberias crear un driver para hacerlo. Hacer drivers es uno de los temas mas avanzados que podes encontrar, empeza por lo basico del lenguaje C y ya que soles hacer como yo, comprar libros para aprender, te recomiendo este:
http://www.agapea.com/C-ESTANDAR-n24256i.htm