Добрый день!
Столкнлся с такой проблемой... Atmega32A, Компилятор CodeVisionAvr (пробовал на первой и на второй версиях - одинаково) В оперативке практически только массив unsigned char LCD_Buffer[504]; Data Stack area: 0x60 to 0x573 Data Stack size: 1300 byte(s) Estimated Data Stack usage: 22 byte(s) RAM Global variables area: 0x574 to 0x76F RAM Global variables size: 508 byte(s) Hardware Stack area: 0x770 to 0x85F Hardware Stack size: 240 byte(s) Heap size: 0 byte(s) EEPROM usage: 0 byte(s), 0,0% of EEPROM Program size: 1462 words (2924 bytes), 8,9% of FLASH
При вызове функции A(zX) ей передается аргумент (unsigned char) zX, а его значение передается внутри этой функции другой функции B(zX). И получается, что этой другой функции передается 0, а не значение zX переданое в A(zX). Если внутри A(zX) присвоить zX какое-то значение, то все работает как надо и в B(zX) передается правильное значение. Подобная проблема и при использовании (вызове) макросов внутри функции.
Проблема с камнем или что... все параметры компилятора перепробовал... В чем может быть проблема?
Сообщение отредактировал SXC - Feb 8 2011, 20:51
|