Насчёт (если я правильно понял):
Symbiosis писал(а):Единственное с чем не получается разобраться - с массивом.
Не хочет читать из него (((
Вот есть инициализированный массив
flash unsigned char massiv[3][3]={{1,2,3},{4,5,6},{8,9,0}};
и есть следующий код:
putchar ('X');
putchar ('V');
putchar (massiv[0][1]);
putchar ('\n');
delay_ms(1000);
putchar ('Y');
putchar ('V');
putchar (massiv[1][1]);
putchar ('\n');
delay_ms(1000);
putchar ('Z');
putchar ('V');
putchar (massiv[2][1]);
putchar ('\n');
delay_ms(1000);
Но не выводятся значения из массива(
Тут kentawrik верно говорил.
В консоль высодится в данном случае типа того:
Соответственно числам в массиве (я так понял, он сделан пока для теста). Их просто невидно, т.к. такого кода символа, видимо, нет.
Если в памяти у вас будет храниться значения в символьном виде (например 0x31,0x32 - сответственно 1,2) то значения в массиве надо заключать в одинарные кавычки
Код: Выделить всё
unsigned char massiv[][]={{'1','2','3'},{'4','5','6'},{'8','9','0'}};
Если в числовом (0x01,0x02) тогда при выводе нужно добавлять код начала чисел (Символ '0') (Чесно говаря я его непомню. Доверяю kentawrik

) 0x30
Будет типа:
Код: Выделить всё
putchar ('X');
putchar ('V');
putchar (massiv[0][1] + 0x30);
putchar ('\n');
delay_ms(1000);
putchar ('Y');
putchar ('V');
putchar (massiv[1][1]+ 0x30);
putchar ('\n');
delay_ms(1000);
putchar ('Z');
putchar ('V');
putchar (massiv[2][1]+ 0x30);
putchar ('\n');
delay_ms(1000);
Ну а если значения от 0 до 255, то надо уже конвертировать число в строку и выводить по частям.
