Код: Выделить всё
{
rab = 0b10000000; // Сдвиг вправо
while (rab!=0)
{
PORTB=rab^0xFF; // Запись в порт
rab = rab >> 1; // Сдвиг
wait1 (); // Задержка
}
} Код: Выделить всё
{
rab = 0b10000000; // Сдвиг вправо
while (rab!=0)
{
PORTB=rab^0xFF; // Запись в порт
rab = rab >> 1; // Сдвиг
wait1 (); // Задержка
}
} Код: Выделить всё
for(char i=0;i<8;i++)
{
rab = 0b10000000; // Сдвиг вправо
while (rab!=0)
{
PORTB=rab^0xFF; // Запись в порт
rab = rab >> 1; // Сдвиг
wait1 (); // Задержка
}
}
Код: Выделить всё
i=0;//вводим i и присваиваем 0
m1:{
rab = 0b10000000; // Сдвиг вправо
while (rab!=0)
{
PORTB=rab^0xFF; // Запись в порт
rab = rab >> 1; // Сдвиг
wait1 (); // Задержка
}
}
i=i+1;//увеличиваем на 1
if i<8 goto m1;//для 8 повторов переход на метку m1
else goto m 2;//переход на другой эфект под меткой m2
Код: Выделить всё
#include <mega16.h>
#include <delay.h>
void wait1 (void)
{
TCNT1=0;
while (TCNT1<200) {};
}
void main(void)
{
unsigned char rab;
while (1)
{
for (char i=0;i<8;i++)
{
rab = 0b10000000; // Сдвиг вправо
while (rab!=0)
{
PORTB=rab^0xFF; // Запись в порт
rab = rab >> 1; // Сдвиг
wait1 (); // Задержка
}
}
};
}Код: Выделить всё
else goto m 2;//переход на другой эфект под меткой m2Попробуйте такУказывает что не верна эта строчка "for (char i=0;i<8;i++)"
Код: Выделить всё
void main(void)
{
unsigned char i;
...
...
for (i=0;i<8;i++)
...
...
А Вы пометили меткой m2 другой эфект?Ещё советую i сделать глобальной переменной и во всехamirus писал(а):
А вот по подсказке увК@Т кажись мне очень будет тяжело. Тоже не смог вставить его. Вот эта строчка, на которую ругается компиляторКод: Выделить всё
else goto m 2;//переход на другой эфект под меткой m2
И ПОБОЛЬШЕ глобальных переменных, а то когда их мало скучно жить.К@Т писал(а):Ещё советую i сделать глобальной переменной
Ну, наверное до таких решений мне очень далеко. Но, я буду стараться, спасибо огромное за подсказки. Я думаю нормальный программист то что я пишу, напишет в двух строчках, а я двумя эффектами умудряюсь почти забить треть памяти мегиК@Т писал(а):amirus писал(а): А Вы пометили меткой m2 другой эфект? Ещё советую i сделать глобальной переменной и во всех
эфектах ей считать последовательно.
Учите языки,а то так скоро Delfi с С попутаете(подсказка разница не в командах а в их расписывании).BCluster писал(а):
И где там ассемблерная вставка?
Одна глобальная переменная займётBCluster писал(а):
И ПОБОЛЬШЕ глобальных переменных, а то когда их мало скучно жить.
Идеально когда вообще нет глобальных переменных
Не надо в исходнике добиватса двух строчек,их надо в хексине добиватса.Например пога написаная на ассемблере имеет исходник в разы больше сишного,а вот хексина наоборот меньше получаетса.amirus писал(а):Я думаю нормальный программист то что я пишу, напишет в двух строчках,
Я вот тоже не увидел там никакой вставки. Может мы не туда смотримК@Т писал(а):Учите языки,а то так скоро Delfi с С попутаете
А одна локальная меньше чем 10 глобальных. И что ?Одна глобальная переменная займёт меньше памяти камня чем например 10 локальных
И тут можно поспорить. С дури, как говориться, можно и х... (хвост) сломать. Хотя..., не мудрено, с Вашими советами.К@Т писал(а):а вот хексина наоборот меньше получаетса.
Не в одном эфекте а во всех для последовательного счёта.Аlex писал(а): Да и вообще, глупо использовать глобальную переменную в одном месте программы.
Иногда лучше жевать чем говорить, ей богу.К@Т писал(а):Учите языки,а то так скоро Delfi с С попутаете(подсказка разница не в командах а в их расписывании)
А с чего бы? Память под переменную будет создана при вызове функции, при завершении функции будет уничтожена.К@Т писал(а):Одна глобальная переменная займёт меньше памяти камня чем например 10 локальных(т.е. если 10 эфектов и повторы в них будут считать локальные)
Хексина с 10 локальными будет больше чем с одной глобальной(проверено),а иногда каждый байт на счету.BCluster писал(а): А с чего бы? Память под переменную будет создана при вызове функции, при завершении функции будет уничтожена.
Вам же говорят - будет зависить от вызова ф-ии. Если будете ф-ии вызывать из одной другую, тогда да, для каждой переменной будет выделена память.К@Т писал(а):Хексина с 10 локальными будет больше чем с одной глобальной(проверено)
Я про это и толкую.Аlex писал(а):Вам же говорят - будет зависить от вызова ф-ии. Если будете ф-ии вызывать из одной другую, тогда да, для каждой переменной будет выделена память.К@Т писал(а):Хексина с 10 локальными будет больше чем с одной глобальной(проверено)
Про что ? Что нужно, для всех ф-ий, использовать одну переменную ? Причём эти ф-ии будут вызываться друг из друга ?К@Т писал(а):Я про это и толкую.
Уже 2 новых года встречал с герляндой на 56 эфектом с кодом написанной подобным образом(т.е.с одной глобольной переменной) и глюков не было скоро третий будет и интересно когда её заглючит?Аlex писал(а):Про что ? Что нужно, для всех ф-ий, использовать одну переменную ? Причём эти ф-ии будут вызываться друг из друга ?К@Т писал(а):Я про это и толкую.
Ню-ню... Дерзайте... В скором будущем глюк Вам обеспечен.
Гирлянду, может и никогда.интересно когда её заглючит?
А ТС что делает?Разве не гирлянду?Аlex писал(а):Гирлянду, может и никогда.интересно когда её заглючит?
Если так и будете делать только гирлянды, то шансы поймать глюк не увеличатся