ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
21 мая
34346
Xитpый Чeн (29.06.2005 08:47, просмотров: 947)
вопросик по sprintf_P... char const __farflash _format[Number=%d]; __C_task void main(void) { unsigned char line = 1; sprintf_P((char *)LCD_buff, _format, line); } При этом выводит : Number = 1 (мне так и надо:)) Далее... char const __farflash _format[Number=%d,name=%s]; __C_task void main(void) { unsigned char line = 1; unsigned char name[] = "NOKIA"; sprintf_P((char *)LCD_buff, _format, line, name); } При этом выводит : Number=1,name=NOKIA (мне так и надо:)) Все нормально, но имя нужно во flash, делаю так: char const __farflash _format[Number=%d,name=%s]; char const __farflash name[] = "NOKIA"; __C_task void main(void) { unsigned char line = 1; sprintf_P((char *)LCD_buff, _format, line, name); } При этом выводит : ФИГНЮ :( Как это можно обойти без инициализации и буз использования новых служебных функций типа strcat_G