misyachniy (15.11.2017 19:55, просмотров: 2427)
Прикручиваю к меню функцию snprintf() IAR ARM. https://stackoverflow.com/questions/22295028/sprintf-corrupting-arrays-in-iar-microcontroller
http://demin.ws/blog/russian/2013/01/28/use-snprintf-on-different-platforms/
Именно snprintf для того чтобы увидеть ошибки на экране без зависания/вылетания программы.
Сейчас хочу к строка меню добавить курсор '>'.
Вызываю так snprintf(&LCD_buf, 16, &"Audio... %c", '>');
Пробовал несколько вариантов результат отрицательный
Объявляю строку меню типа длиной 16 символов, то печатается 16, курсора нет и 16 символ 0.
Объявляю строку меню типа длиной 17 символов, то курсор не печатается и 16 символ 0.
Я так понял snprintf копирует побайтно символы в результирующую строку с контролем длины.
Почитал статью по ссылке - мне нужно как в Windows сформировать 16 знаков без 0 в конце
По второй ссылке пишут о глюках решаемой настройкой библиотеки printf компилятора.
Мне нужно чтобы функция формировала 16 символов без нуля в конце.
Завтра я поэкспериментирую и есть шанс получить требуемый результат. ;-)
Возможно кто уже проходил этот путь и подскажет?