Доброе время суток уважаемые.
Подскажите по применению нескольких функций, желательно на присоединенном примере.
1) Ввод строки через gets. Если указать gets(buffer,10); то нормально читает строку в 10 символов, но хотелось бы читать строку произвольной длинны. gets(buffer, strlen(buffer)); не работает. Как сделать что бы можно было читать строку произвольной длинны?
2) Как сделать что бы прога продолжала выполняться если строка не вводится? Можно смотреть rx_buffer текущий и на цикл меньше, сравнить их найти (или не найти) разницу, определить длину этой разницы и прочитать с помощью gets, но думаю можно проще. К сожалению не допру как…
3) При выводе строки в UART (смотрю спомощью Com Port Toolkit) переход на новую строку не распознается т.е. по команде printf("\nUSART %u\n",1); выводится .USART 1. (при выводе на LCD все нормально). Как указать при выводе в UART переход на новую строку?
4) При выводе на LCD значения double num=1345.2356; по коду printf("\nfloat=%.4f4", num); выводится float=4f4, а не float=1345.2356. Где ошибка?
Присоединенный проект немного подправленный код (по примеру 2UARTLCD) скомпилированный в CVAVR 1.25.5.
Подобные темы были но не совсем те…