а как же компилятор, точнее, препроцессор, не испортил однострочными комментариями все?! по идее ведь будет такой текст после препроцессора:
... Masks[CHANELS] = {(1<<PC0) // порт термометра 1, (1<<PC2) // порт термометра 2 ...}
то есть комменты порушат содержимое массива?!
Во всяком случае, WinAVR именно так поступает, поэтому в #define приходится всегда использовать /* такие комментарии */