Главная arrow Программирование arrow AVR arrow IAR Embedded Workbench IDE, порча RAM функцией printf Friday, July 21 2017  
ГлавнаяКонтактыАдминистрированиеПрограммированиеСсылки
UK-flag-ico.png English Version
GERMAN-flag-ico.png Die deutsche Version
map.gif карта сайта
нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.

Поделиться:

IAR Embedded Workbench IDE, порча RAM функцией printf Версия для печати
Написал microsin   
08.12.2007
Подпрограммы, вызываемые внутри printf, портят иногда глобальные ячейки памяти. У меня, например, printf портила 2 байта RAM, и из-за этого затиралась ячейка памяти (сегмент TINY_Z). Побороть это можно только 2-мя способами - либо не использовать printf, либо добавить сразу после объявления переменной, которая портится, "тупую" переменную типа int (2 байта), которая просто резервирует память, которую потом будет портить printf. Пример (uchar и uint это unsigned char и unsigned int):
uchar _lcd_x, _lcd_y, _lcd_maxx;   //раньше у нас портились ячейки _lcd_y и _lcd_maxx
uint dummy;                        //теперь будет портиться dummy
 

Добавить комментарий

:D:lol::-);-)8):-|:-*:oops::sad::cry::o:-?:-x:eek::zzz:P:roll::sigh:

Защитный код
Обновить

< Пред.   След. >

Top of Page
 
microsin © 2017