You'll need to learn assembly, if you want get to the raw hardware level of programming. Assembly is easily integrated into most C compilers.
Truthfully, I think you have much more to learn about general programming and the realm of the C language, before you aim towards hardware. As well, it also depends on what you mean by "hardware programming", you may want to clarify that term.
Reputation Points: 888
Solved Threads: 114
Nearly a Posting Virtuoso
Offline 1,270 posts
since Nov 2008