Is it a good practice to create a .h file even if you only put your prototypes and constants in it? To date, I've only ever put my prototypes in the main.c file. But my sense is that's not "proper." I've read Dean Camera's tutorial on modularizing projects and while I like it (I used to do that in Visual Studio with my VB projects), I'm a little confused by it. Is it dated? The talk of makefiles seems like an advanced optional step given that AS7 does all that automatically behind the scenes? I've also read the avrgcc docs toolchain section. But at this stage in my learning, if AS7 is doing everything I need, I feel my learning efforts are better spent on the language and AVRs.
Please correct me if I'm wrong:
1) header files are especially necessary when modularizing multiple source files that need to include the data.
2) for projects using only a single source file, header files are unnecessary
3) adding a "main.h" file to a project is good practice even if it only stores prototypes and constants as it creates less clutter in the main.c file.
Any false assumptions there?