Решение нашлось в опросе бита Transmit Completed после посылки очередного байта:
void USART_PutSequence(uint8_t *sequence)
{
int i = 0;
while(sequence[i] != 0) {
USART_SendData(USART1, (uint8_t)sequence[i++]);
while (!(USART1->SR & USART_FLAG_TC));
}
}