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

 
 
> Это глюк компилятора? (CVAVR), потеря одного параметра
invertor79
сообщение Apr 29 2007, 18:13
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 97
Регистрация: 25-04-06
Из: Краснодар
Пользователь №: 16 451



Писал следующую функцию (выводит измеренное АЦП напр. на индикатор):

Код
void lcd_print_adc_level_volt(uchar y, uchar x)
{
    uchar str[4];
    
    ftoa(ADC_Read(CH_2)*ADC_V, 2, str);
    
    print_string(y, x, str);
    
    print_char(y, x+CHAR_W*4, 'V');
}


в этом случае параметр x всегда равен 0 оказывается, параметр y передается нормально.

Переписал так:
Код
void lcd_print_adc_level_volt(uchar y, uchar x)
{
    uchar str[4];
    uchar temp;

            temp = x;

    ftoa(ADC_Read(CH_2)*ADC_V, 2, str);
    
    print_string(y, temp, str);
    
    print_char(y, temp+CHAR_W*4, 'V');
}


Всё стало работать как надо blink.gif

Такое впечатление, что ftoa портит параметр x, хотя никаким боком его не пользует. От чего это может быть?

P.S. (пользую CVAVR 1.24.8d Prof.)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ReAl
сообщение Apr 29 2007, 19:38
Сообщение #2


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(invertor79 @ Apr 29 2007, 17:13) *
Писал следующую функцию (выводит измеренное АЦП напр. на индикатор):
Код
void lcd_print_adc_level_volt(uchar y, uchar x)
{
    uchar str[4];
    ftoa(ADC_Read(CH_2)*ADC_V, 2, str);
    print_string(y, x, str);
    print_char(y, x+CHAR_W*4, 'V');
}


Такое впечатление, что ftoa портит параметр x, хотя никаким боком его не пользует. От чего это может быть?

P.S. (пользую CVAVR 1.24.8d Prof.)
А ты уверен, что ftoa не 5 байт в массив str[] пишет?
Может, как раз концевой "0" и попадает в x


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post



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

 


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


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