Страница 1 из 1

Ребята подскажите как уменьшить код для atyny13 ?

Добавлено: Пт окт 17, 2014 18:35:09
yuriy m
доброго времени суток. собственно есть не большая проблемка .есть кусочек кода ,но он жрет много памяти... есть ли другие подходы чтобы его сделать компактнее на си ? пишу в студии.
за ранние спасибо уважаемые гуру.

Re: Ребята подскажите как уменьшить код для atyny13 ?

Добавлено: Пт окт 17, 2014 18:53:31
pyzhman
Попробуйте значения переменным

Код: Выделить всё

			regim=12;
			noh_regim = 0;
			mic = 150;
			foto = 1;
			foto_ON_OFF=0;
считывать из заранее подготовленного массива, индексом которого будет tim. Эту переменную, конечно, преобразовать до 0,1,2...,11.

Re: Ребята подскажите как уменьшить код для atyny13 ?

Добавлено: Пт окт 17, 2014 19:08:15
COKPOWEHEU

Код: Выделить всё

m1:		
if((PINB&(1 << PB1)) == 0)
...
goto m1;
Что это за ужас?
Попробуйте значения переменным считывать из заранее подготовленного массива
Что-то в этом роде:

Код: Выделить всё

PROGMEM unsigned char mic_arr[12]={140,160,...,150};
PROGMEM unsigned char foto_arr[12]={150,150,...,1};
...
if(tim % 20 ==0){
 regim=tim/20;
 mic=pgm_read_byte(&mic_arr[regim]);
 foto=pgm_read_byte(&foto_arr[regim]);
 regim++;
 if(regim>6){
  noh_regim=foto_on_off=0;
 }else{
  noh_regim=foto_on_off=1;
 }
 miganie();
}

Re: Ребята подскажите как уменьшить код для atyny13 ?

Добавлено: Сб окт 18, 2014 20:01:23
yuriy m
Спасибо пойду курить материал...

Re: Ребята подскажите как уменьшить код для atyny13 ?

Добавлено: Вс окт 19, 2014 07:45:26
pyzhman
Как-то обречённо.

Re: Ребята подскажите как уменьшить код для atyny13 ?

Добавлено: Вс окт 19, 2014 15:31:39
BOB51
yuriy m писал(а):есть кусочек кода ,но он жрет много памяти... есть ли другие подходы чтобы его сделать компактнее на си ? пишу в студии.
Переписать на ассемблере. 8)