Цитата
PS Всякие StdPeriph Driver не хочу использовать, так как на мой взгляд изучать контроллер нужно работая с регистрами напрямую, так больше граблей, а значит и пониманий...
нет ничего плохого в использовании инструментов. это как рубить дрова топором или кухонным ножом. результат один и тот же, а количество усилий необходимое для достижения цели разное. смысл написанного при применении таких конструкций:
Код
/* Configure USARTy Rx as input floating */
GPIO_InitStructure.GPIO_Pin = USART_RxPin;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(USARTy_GPIO, &GPIO_InitStructure);
не меняется. зато экономится куча времени при написании программ и отлове багов в "магических цифрах", а так же появляется кроссплатформенность. попробуйте, вам понравится

З.Ы. как вы определяете, что процу пофиг? момент ожидание - реальность не понятен. и не вижу у вас обработчика прерываний от USART