На МК, ATtiny 2313 есть массив: char *mas[15] = {"000000","000001","000010" ... "111111"}
Так вот массив вылезает за пределы допустимой памяти. Дальше идёт сравнение строки. Котрую получила функция. Впринципе я подумал а почему бы, не сделать так: если допустим первая строка массива равна входной строке, мы выходим из функции, если нет заменяем 1 элемент массива другой строкой, и так далее, памяти в разы будет меньше расходоваться! Только вот у меня постаянная несовместимость типов. Т.е я делаю так: mass[i] = "111000"; и получаю ошибку типа нада бы использовать flash unsigned char, а если этот тип использовать, то функция strcmp не работает. Вот два дня бьюсь, ничего невыходит. Думал может в eeprom определить этот массив, определяю, strcmp не работает. Может кто подскажет что нить?
P.S. использую Code VisionAVR;
|