реклама на сайте
подробности

 
 
> Как передать sprintf() в качестве параметра строку из flash, Перехожу с CV на IAR, help!
Konstantin Ilich...
сообщение Aug 31 2011, 15:54
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 62
Регистрация: 7-12-06
Пользователь №: 23 250



Добрый день всем!

Перехожу с CodeVisionAVR на IAR EWAVR 5.30.
При переносе проекта столкнулся с тем, что привычная конструкция компилируется, но не работает:
Код
sprintf_P(str,"Socket type=%p",(SocketType)?("TCP"):("UDP"));

В строке str получается что-то типа такого: "Socket type=3CD".
Причина - CodeVision рассматривает спецификатор %p как указатель на строку во флеш, а IAR - как *void.
Включена опция "--string_literals_in_flash".

В проекте очень много таких конструкций, переделать на %s, мне кажется, нереально.
Мне видится, что легче внести изменения в библиотечную функцию sprintf_P, которая разбирает спецификаторы.

Посоветуйте, как быть. Может, эта проблема решается совсем просто?
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 14:49
Рейтинг@Mail.ru


Страница сгенерированна за 0.0136 секунд с 7
ELECTRONIX ©2004-2016