Цитата(V_G @ May 12 2015, 10:50)

Поищите в вашей версии Си функцию типа strlen.
Использовать функцию sizeof для строки некорректно, она для другого предназначена.
ЗЫ. Посмотрите в отладчике, ваша строка, размещенная в памяти, нулем завершается? Все функции вычисления длины строки ищут окончание в виде нулевого байта.
Нулем завершается, конечно.
Написал по-простому:
char Buff[] = "Hello, ViKo!\r\n";
CDC_Transmit_FS((uint8_t *)Buff, sizeof Buff);
Все передается, и нуль тоже.
Hello, ViKo!<\r><\n><\0>
Мне непонятно, sizeof указателя должен же быть равен 4 для Cortex. Почему один символ передается?
Так нормально работает, спасибо!
char *Buff = "Hello, ViKo!\r\n";
CDC_Transmit_FS((uint8_t *)Buff, strlen (Buff));