Писал следующую функцию (выводит измеренное АЦП напр. на индикатор):
Код
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');
}
Всё стало работать как надо
Такое впечатление, что ftoa портит параметр x, хотя никаким боком его не пользует. От чего это может быть?
P.S. (пользую CVAVR 1.24.8d Prof.)