Цитата(SSerge @ May 22 2012, 23:34)

Я Вам сейчас одну умную вещь скажу, только не обижайтесь (с)
Вроде спрашиваю не для того, чтоб обижаться
Цитата(_Артём_ @ May 22 2012, 23:45)

Тоже вариант: его можно менять в зависимости от надобности и включить в USART.h - будет как конфиг проекта.
Вообще, предполагалось, что USART.h - самостоятельная и отдельная вещь, навроде библиотеки, которую в дальнейшем можно будет использовать в разных проектах БЕЗ внесения в нее правок и необходимости перекомпиляции
Цитата(_Артём_ @ May 22 2012, 23:45)

Просто чаще встречается такая конструкция(хотя кому-то может и наоборот):
Код
#ifndef usart_tx_rx_h__
#define usart_tx_rx_h__
...
#endif
Вообще,
Код
#pragma once
имеет то же назначение. Если компилятор без косяков этом месте
Хотя, бывают и особо мнительные случаи использования
Код
#pragma once
#ifndef usart_tx_rx_h__
#define usart_tx_rx_h__
...
#endif
Цитата(_Артём_ @ May 22 2012, 23:45)

А точно ошибку, а не warning? У меня откомпилировалось.
Так ворнинг руками и выдается. Просто сделана "затычка", которая если не видит - предупреждает и переобъявляет. И в данном контексте раз не видит - значит, ошибка. [Моя ошибка имеется в виду, только пока до конца не понимаю, в чем]