в строке 75 и др. - поставь задержку 200.... и всё снова.....
да, глюк изредка появляется после кнопки 2.... контакты может хреновые ( сильно дребезжат ) , замени её
блок кнопок нужно спаять на отдельной плате, чтобы исключить шевеления контактов кнопок и проводов к макетке при нажатиях на кнопки
Все, понял, спасибо большое . Завтра займусь) Так оставить 200 или 50? И еще вопрос. Вот чтобы постоянно горел индикация жизни. Ты говорил вывести функцию showLive(); в лооп. Но не получается. Загорается и потом гаснет
Убрал строки 315 - 317. Так же убрал 307-313, чтобы не моргал. А просто постоянно горело текущее значение жизней. Так же саму функцию вынес в луп. Не работает...
Убрал строки 315 - 317. Так же убрал 307-313, чтобы не моргал. А просто постоянно горело текущее значение жизней. Так же саму функцию вынес в луп. Не работает...
она уже давно в строке 55 сидит ( из крайнего кода )
нет , зачем ?
один раз высветили в секции_1 и хватит... в секции_3 решение оставить или минусовать колво жизней, вот на следПроходе лупа и высветится новое значение....
а если функция выродилась в одну строку - то функцию эту надо убить и вместо её вызова записать эту строку :)
Честно? Я так и не понял почему вместо 3 используем 4... Я понимаю как это все выглядет в двоичной системе.. Но все же.. Какая тут связь? Вот например. Я сейчас хочу чтобы у меня высвечивалась индикация постоянно. Начальное значени жизней 3. Но СД не горят, так как в функции только (1, 2, 4, 7)...
void OutByteLive(byte _n)
{
switch (_n)
{
case 0 : // для выключения всех трёх СД_жизнь
{
digitalWrite(ledLive1,LOW);
digitalWrite(ledLive2,LOW);
digitalWrite(ledLive3,LOW);
break;
}
case 1 :
{
digitalWrite(ledLive1,HIGH);
digitalWrite(ledLive2,LOW);
digitalWrite(ledLive3,LOW);
break;
}
case 2 :
{
digitalWrite(ledLive1,HIGH);
digitalWrite(ledLive2,HIGH);
digitalWrite(ledLive3,LOW);
break;
}
case 4 :
{
digitalWrite(ledLive1,HIGH);
digitalWrite(ledLive2,HIGH);
digitalWrite(ledLive3,HIGH);
break;
}
case 7 : // для включения всех трёх СД_жизнь
{
digitalWrite(ledLive1,HIGH);
digitalWrite(ledLive2,HIGH);
digitalWrite(ledLive3,HIGH);
break;
}
}
}
Все работает отлично))) Спасибо большое за помощь)) Завтра буду делать инжикацию и все остальное, чтобы игрок понимал что от него требуется и в какой момент времени))
Честно? Я так и не понял почему вместо 3 используем 4...
чтобы случайно подсветить один из трёх светодиодов нужно передать в функцию подсветки коды ИЛИ 001 , 010 , 100....
это числа 1 , 2 , 4 - сгенерить их случайно не получится , т.к. ещё и 3 будет проскакивать.... 001 , 010 , 011 , 100
генерим случайно 1 , 2 , 3..... , но 3 это 011 - подсветятся два светодиода, а этого нельзя по заданию....
генерим случайно 1 , 2 , 3..... , а 3 принудительно переделываем в 4 - получаем случайные значения 1 , 2 , 4
Это все я понимаю про двоичную систему! Но. Мы функцией записывает в переменную типа byte значени выбранное случайным образом. byte принимает значение от 0 до 255. Рандом выбрал 1, мы и записываем 1. Не 001, а именно 1. Рандом выбрал 2, мы записали 2, а не 010. И потом, когда мы уже запускаем светодиоды. Мы проверяем case 1:, case2. Вот я даже поменял сейчас.. вместо 4, поставил 3. и все работает отлично, никакие 2 Сд не загораются... Я не прав?
Это все я понимаю про двоичную систему! Но. Мы функцией записывает в переменную типа byte значени выбранное случайным образом. byte принимает значение от 0 до 255. Рандом выбрал 1, мы и записываем 1. Не 001, а именно 1. Рандом выбрал 2, мы записали 2, а не 010. И потом, когда мы уже запускаем светодиоды. Мы проверяем case 1:, case2. Вот я даже поменял сейчас.. вместо 4, поставил 3. и все работает отлично, никакие 2 Сд не загораются... Я не прав?
прав :) , но - мой подход нужен для дальнейшей модернизации кода с использованием прямого доступа к регистрам МК... при этом вывод байта на СД превратится всего в одну строку типа
PORTC=liveCurrent;
PORTD="случайныйБайт";
Это все я понимаю про двоичную систему! Но. Мы функцией записывает в переменную типа byte значени выбранное случайным образом. byte принимает значение от 0 до 255. Рандом выбрал 1, мы и записываем 1. Не 001, а именно 1. Рандом выбрал 2, мы записали 2, а не 010. И потом, когда мы уже запускаем светодиоды. Мы проверяем case 1:, case2. Вот я даже поменял сейчас.. вместо 4, поставил 3. и все работает отлично, никакие 2 Сд не загораются... Я не прав?
прав :) , но - мой подход нужен для дальнейшей модернизации кода с использованием прямого доступа к регистрам МК... при этом вывод байта на СД превратится всего в одну строку типа
PORTC=liveCurrent;
PORTD="случайныйБайт";
Ура, все же я был прав) А вот тепеРь еще важнее вопрос... Почему если долго удерживаю кнопку, не работает? Это из-за задержки? Так что же поставить? Или что делать? Ведь люди то разные)
Это все я понимаю про двоичную систему! Но. Мы функцией записывает в переменную типа byte значени выбранное случайным образом. byte принимает значение от 0 до 255. Рандом выбрал 1, мы и записываем 1. Не 001, а именно 1. Рандом выбрал 2, мы записали 2, а не 010. И потом, когда мы уже запускаем светодиоды. Мы проверяем case 1:, case2. Вот я даже поменял сейчас.. вместо 4, поставил 3. и все работает отлично, никакие 2 Сд не загораются... Я не прав?
прав :) , но - мой подход нужен для дальнейшей модернизации кода с использованием прямого доступа к регистрам МК... при этом вывод байта на СД превратится всего в одну строку типа
PORTC=liveCurrent;
PORTD="случайныйБайт";
Ура, все же я был прав) А вот тепеРь еще важнее вопрос... Почему если долго удерживаю кнопку, не работает? Это из-за задержки? Так что же поставить? Или что делать? Ведь люди то разные)
рандом(1,4) выбирает только
1 = 00000001 = 01 ( десятичное , двоичное , 16-ричное представление одного и тогоже )
2 = 00000010 = 02
3 = 00000011 = 03 , которое мы переделываем в 4 = 00000100 = 04
рандом(1,256) выберет случайно из всех значений
1 = 00000001 = 01 ( десятичное , двоичное , 16-ричное представление одного и тогоже )
2 = 00000010 = 02
3 = 00000011 = 03
...................
255 = 11111111 = FF - но все эти значения не нужны по задаче :)
рандом(1,4) выбирает только
1 = 00000001 = 01 ( десятичное , двоичное , 16-ричное представление одного и тогоже )
2 = 00000010 = 02
3 = 00000011 = 03 , которое мы переделываем в 4 = 00000100 = 04
рандом(1,256) выберет случайно из всех значений
1 = 00000001 = 01 ( десятичное , двоичное , 16-ричное представление одного и тогоже )
2 = 00000010 = 02
3 = 00000011 = 03
...................
255 = 11111111 = FF - но все эти значения не нужны по задаче :)
Да это в принципе понятно)) Ну а вот я поставлю 4 светодиода. Я же могу выбрать значения от 1 до 4 и все. 3 -это будет 3 сд. 4- четвертый. Но вот по ттвоим словам. Я должен буду описать 4 числа. 1-0001, 2-0010, 4-0100, 7- 1000. Так?) но все же если я сделаю по своему, ну без дальнейших планов на мк) все таки это же простая игра для проверки памяти) и поставлю для каждого Сд значение соответствующее его номеру: 1сд - 1, 2с2сд-2,3с
-3, 4сд-4. Это не будет оошибкой)
ошибкой это не будет... можно отобразить любое число на любые СД
- 0000 = зажечь четыре СД
- 1011 = зажечь первый и четвёртый
..........и получить в дальнейшем геморрой :(
основное - привязка-отображение СД к номеру бита в байте ! этому надо следовать всегда, даже при простоте вашей игрушки....
.....перейдёте на управление СД через последПараллельнРегистр или введёте семисегментные индикаторы для отображения колва жизней и номера текущего уровня - запутаетесь сразу :(
не проще ли сразу следовать логике битового отображения СД для любых задач ?
при управлении портами через регистры МК - всё поставит сразу на свои места ( основное - привязка-отображение СД к номеру бита в байте ) - когда ты придёшь к этому моя не знает :( , но придёшь.....
сколько времени ты отвёл на реализацию своего проекта ? мало - можно делать как ты решил.... много - надо сразу всё продумать....
....переделывать потОм проект с одной доктрины на другую - сибе дороже, переделка займёт больше времени чем написание нового кода :(
ошибкой это не будет... можно отобразить любое число на любые СД
- 0000 = зажечь четыре СД
- 1011 = зажечь первый и четвёртый
..........и получить в дальнейшем геморрой :(
основное - привязка-отображение СД к номеру бита в байте ! этому надо следовать всегда, даже при простоте вашей игрушки....
.....перейдёте на управление СД через последПараллельнРегистр или введёте семисегментные индикаторы для отображения колва жизней и номера текущего уровня - запутаетесь сразу :(
не проще ли сразу следовать логике битового отображения СД для любых задач ?
при управлении портами через регистры МК - всё поставит сразу на свои места ( основное - привязка-отображение СД к номеру бита в байте ) - когда ты придёшь к этому моя не знает :( , но придёшь.....
сколько времени ты отвёл на реализацию своего проекта ? мало - можно делать как ты решил.... много - надо сразу всё продумать....
....переделывать потОм проект с одной доктрины на другую - сибе дороже, переделка займёт больше времени чем написание нового кода :(
Кошмар) Ну я понимаю о чем ты) Семисегментный индикатор по тому же принципу делается? У меня есть индикатор такой от стратого компьютера. Можно же сделать отображение на нем уровня( или жизней)? Это надо через микросхему драйвера делать ? НУ и еще, к нашей задаче. Почему если держать долго кнопку, он не сработает как надо? Задержка?
Ну а вот я поставлю 4 светодиода. Я же могу выбрать значения от 1 до 4 и все
о чём и речь.... пишем функцию вывода байта ( 8 СД ) или 2-ух байтов ( 16 СД ) для всех значений.... и забываем о ней ( об её реализации ) , кстати через swith-case - устанете прописывать все 256 комбинаций для байта и 65535 комбинаций для двух байтов :)-
а через порты - легко и быстро
ничто не мешает в нужном месте вызывать функцию вкл СД с нужным параметром
- один из четырёх - 0001 0010 0100 1000 - один из восьми - 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000
Ну а вот я поставлю 4 светодиода. Я же могу выбрать значения от 1 до 4 и все
о чём и речь.... пишем функцию вывода байта ( 8 СД ) или 2-ух байтов ( 16 СД ) для всех значений.... и забываем о ней ( об её реализации ) , кстати через swith-case - устанете прописывать все 256 комбинаций для байта и 65535 комбинаций для двух байтов :)-
а через порты - легко и быстро
ничто не мешает в нужном месте вызывать функцию вкл СД с нужным параметром
- один из четырёх - 0001 0010 0100 1000 - один из восьми - 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000
Кошмар) Ну я понимаю о чем ты) Семисегментный индикатор по тому же принципу делается? У меня есть индикатор такой от стратого компьютера. Можно же сделать отображение на нем уровня( или жизней)? Это надо через микросхему драйвера делать ?
ничё сложного....
НУ и еще, к нашей задаче. Почему если держать долго кнопку, он не сработает как надо? Задержка?
Кошмар) Ну я понимаю о чем ты) Семисегментный индикатор по тому же принципу делается? У меня есть индикатор такой от стратого компьютера. Можно же сделать отображение на нем уровня( или жизней)? Это надо через микросхему драйвера делать ?
ничё сложного....
НУ и еще, к нашей задаче. Почему если держать долго кнопку, он не сработает как надо? Задержка?
Так. Спасибо большое , заработало) Теперь вопрос. Вот он иногда выдает 0. Например в 4 лвл. ( 4 2 0 4 0 1 0 0 0 0). Почему может быть это?
в строках 70...92 в массив может записаться только ИЛИ 1,2,4..... странно.... где-то косяк засел :(
Вот такой получился код
все кнопки так переделай и дай распечатку Serial-a , кнопки тоже нажимай
этот..... и снова сериал...
это распечатка не для крайнего кода :(
Что-то со 2 кнопкой
в строке 75 и др. - поставь задержку 200.... и всё снова.....
да, глюк изредка появляется после кнопки 2.... контакты может хреновые ( сильно дребезжат ) , замени её
Заменил кнопку
если кнопки на макетке - то от нажатий-отпусканий может контакт пропадать от кнопок - переставь кнопку 2 в другие дырдочки на макетке
#311 - теперь глюкнула кнопка 1 - это макетка и проводки виноваты :(
в строке 75 и др. - поставь задержку 200.... и всё снова.....
делал ?
Заменил все кнопки. Все равно иногда проскакивают
Поставил 200. ЧТо-то не то..
блок кнопок нужно спаять на отдельной плате, чтобы исключить шевеления контактов кнопок и проводов к макетке при нажатиях на кнопки
блок кнопок нужно спаять на отдельной плате, чтобы исключить шевеления контактов кнопок и проводов к макетке при нажатиях на кнопки
Все, понял, спасибо большое . Завтра займусь) Так оставить 200 или 50? И еще вопрос. Вот чтобы постоянно горел индикация жизни. Ты говорил вывести функцию showLive(); в лооп. Но не получается. Загорается и потом гаснет
#306 - строки 315,316,317 убрать и будет постоянно колво жизней гореть...
оставь 50, нормально же с такой задержкой работает :)
блок нажатия кнопок смотри....
загораются ли светики на время нажатия кнопок ?
Убрал строки 315 - 317. Так же убрал 307-313, чтобы не моргал. А просто постоянно горело текущее значение жизней. Так же саму функцию вынес в луп. Не работает...
Убрал строки 315 - 317. Так же убрал 307-313, чтобы не моргал. А просто постоянно горело текущее значение жизней. Так же саму функцию вынес в луп. Не работает...
она уже давно в строке 55 сидит ( из крайнего кода )
Так она же в секции.. Когда будет эта секция, будет и она. А если во всех секциях? Надо во все секции ф-цию вставить?
нет , зачем ?
один раз высветили в секции_1 и хватит... в секции_3 решение оставить или минусовать колво жизней, вот на следПроходе лупа и высветится новое значение....
а если функция выродилась в одну строку - то функцию эту надо убить и вместо её вызова записать эту строку :)
Честно? Я так и не понял почему вместо 3 используем 4... Я понимаю как это все выглядет в двоичной системе.. Но все же.. Какая тут связь? Вот например. Я сейчас хочу чтобы у меня высвечивалась индикация постоянно. Начальное значени жизней 3. Но СД не горят, так как в функции только (1, 2, 4, 7)...
Все работает отлично))) Спасибо большое за помощь)) Завтра буду делать инжикацию и все остальное, чтобы игрок понимал что от него требуется и в какой момент времени))
Я сейчас хочу чтобы у меня высвечивалась индикация постоянно. Начальное значени жизней 3. Но СД не горят, так как в функции только (1, 2, 4, 7)...
.....нууууу, добавь вывод "3" , это я копировал с СД_задание и забыл про состояние ТРИ :)-
Я сейчас хочу чтобы у меня высвечивалась индикация постоянно. Начальное значени жизней 3. Но СД не горят, так как в функции только (1, 2, 4, 7)...
.....нууууу, добавь вывод "3" , это я копировал с СД_задание и забыл про состояние ТРИ :)-
А я то думал))) Смотрю что-то не то, но никак не пойму)) Вот видео, посмотри))) https://vk.com/video?z=video241015053_171357613%2Falbum241015053 только качество плохое(( Снимал HD, при загрузке испортилось
Честно? Я так и не понял почему вместо 3 используем 4...
чтобы случайно подсветить один из трёх светодиодов нужно передать в функцию подсветки коды ИЛИ 001 , 010 , 100....
это числа 1 , 2 , 4 - сгенерить их случайно не получится , т.к. ещё и 3 будет проскакивать.... 001 , 010 , 011 , 100
генерим случайно 1 , 2 , 3..... , но 3 это 011 - подсветятся два светодиода, а этого нельзя по заданию....
генерим случайно 1 , 2 , 3..... , а 3 принудительно переделываем в 4 - получаем случайные значения 1 , 2 , 4
кидай на ютуб , с vk у миня не грузится :(
загораются ли светики на время нажатия кнопок ?
кидай на ютуб , с vk у миня не грузится :(
загораются ли светики на время нажатия кнопок ?
неа, не загораются. В коде этого же нет вроде. сейчас загружу
строки 75 и 84 , и ............ , и ..........................
http://www.youtube.com/watch?v=JIOsn-xnx4c&feature=youtu.be
строки 75 и 84 , и ............ , и ..........................
по-моему что-то не то...
Это все я понимаю про двоичную систему! Но. Мы функцией записывает в переменную типа byte значени выбранное случайным образом. byte принимает значение от 0 до 255. Рандом выбрал 1, мы и записываем 1. Не 001, а именно 1. Рандом выбрал 2, мы записали 2, а не 010. И потом, когда мы уже запускаем светодиоды. Мы проверяем case 1:, case2. Вот я даже поменял сейчас.. вместо 4, поставил 3. и все работает отлично, никакие 2 Сд не загораются... Я не прав?
а ты кнопки подольше удерживай :)
а ты кнопки подольше удерживай :)
Удерживаю дольше, отнимается жизнь((
Это все я понимаю про двоичную систему! Но. Мы функцией записывает в переменную типа byte значени выбранное случайным образом. byte принимает значение от 0 до 255. Рандом выбрал 1, мы и записываем 1. Не 001, а именно 1. Рандом выбрал 2, мы записали 2, а не 010. И потом, когда мы уже запускаем светодиоды. Мы проверяем case 1:, case2. Вот я даже поменял сейчас.. вместо 4, поставил 3. и все работает отлично, никакие 2 Сд не загораются... Я не прав?
прав :) , но - мой подход нужен для дальнейшей модернизации кода с использованием прямого доступа к регистрам МК... при этом вывод байта на СД превратится всего в одну строку типа
PORTC=liveCurrent;
PORTD="случайныйБайт";
изучай - http://arduino.ru/Tutorial/Upravlenie_portami_cherez_registry
Это все я понимаю про двоичную систему! Но. Мы функцией записывает в переменную типа byte значени выбранное случайным образом. byte принимает значение от 0 до 255. Рандом выбрал 1, мы и записываем 1. Не 001, а именно 1. Рандом выбрал 2, мы записали 2, а не 010. И потом, когда мы уже запускаем светодиоды. Мы проверяем case 1:, case2. Вот я даже поменял сейчас.. вместо 4, поставил 3. и все работает отлично, никакие 2 Сд не загораются... Я не прав?
прав :) , но - мой подход нужен для дальнейшей модернизации кода с использованием прямого доступа к регистрам МК... при этом вывод байта на СД превратится всего в одну строку типа
PORTC=liveCurrent;
PORTD="случайныйБайт";
изучай - http://arduino.ru/Tutorial/Upravlenie_portami_cherez_registry
Ура, все же я был прав) А вот тепеРь еще важнее вопрос... Почему если долго удерживаю кнопку, не работает? Это из-за задержки? Так что же поставить? Или что делать? Ведь люди то разные)
Это все я понимаю про двоичную систему! Но. Мы функцией записывает в переменную типа byte значени выбранное случайным образом. byte принимает значение от 0 до 255. Рандом выбрал 1, мы и записываем 1. Не 001, а именно 1. Рандом выбрал 2, мы записали 2, а не 010. И потом, когда мы уже запускаем светодиоды. Мы проверяем case 1:, case2. Вот я даже поменял сейчас.. вместо 4, поставил 3. и все работает отлично, никакие 2 Сд не загораются... Я не прав?
прав :) , но - мой подход нужен для дальнейшей модернизации кода с использованием прямого доступа к регистрам МК... при этом вывод байта на СД превратится всего в одну строку типа
PORTC=liveCurrent;
PORTD="случайныйБайт";
изучай - http://arduino.ru/Tutorial/Upravlenie_portami_cherez_registry
Ура, все же я был прав) А вот тепеРь еще важнее вопрос... Почему если долго удерживаю кнопку, не работает? Это из-за задержки? Так что же поставить? Или что делать? Ведь люди то разные)
рандом(1,4) выбирает только
1 = 00000001 = 01 ( десятичное , двоичное , 16-ричное представление одного и тогоже )
2 = 00000010 = 02
3 = 00000011 = 03 , которое мы переделываем в 4 = 00000100 = 04
рандом(1,256) выберет случайно из всех значений
1 = 00000001 = 01 ( десятичное , двоичное , 16-ричное представление одного и тогоже )
2 = 00000010 = 02
3 = 00000011 = 03
...................
255 = 11111111 = FF - но все эти значения не нужны по задаче :)
во вторник посмотрим.....
рандом(1,4) выбирает только
1 = 00000001 = 01 ( десятичное , двоичное , 16-ричное представление одного и тогоже )
2 = 00000010 = 02
3 = 00000011 = 03 , которое мы переделываем в 4 = 00000100 = 04
рандом(1,256) выберет случайно из всех значений
1 = 00000001 = 01 ( десятичное , двоичное , 16-ричное представление одного и тогоже )
2 = 00000010 = 02
3 = 00000011 = 03
...................
255 = 11111111 = FF - но все эти значения не нужны по задаче :)
Да это в принципе понятно)) Ну а вот я поставлю 4 светодиода. Я же могу выбрать значения от 1 до 4 и все. 3 -это будет 3 сд. 4- четвертый. Но вот по ттвоим словам. Я должен буду описать 4 числа. 1-0001, 2-0010, 4-0100, 7- 1000. Так?) но все же если я сделаю по своему, ну без дальнейших планов на мк) все таки это же простая игра для проверки памяти) и поставлю для каждого Сд значение соответствующее его номеру: 1сд - 1, 2с2сд-2,3с
-3, 4сд-4. Это не будет оошибкой)
ошибкой это не будет... можно отобразить любое число на любые СД
- 0000 = зажечь четыре СД
- 1011 = зажечь первый и четвёртый
..........и получить в дальнейшем геморрой :(
основное - привязка-отображение СД к номеру бита в байте ! этому надо следовать всегда, даже при простоте вашей игрушки....
.....перейдёте на управление СД через последПараллельнРегистр или введёте семисегментные индикаторы для отображения колва жизней и номера текущего уровня - запутаетесь сразу :(
не проще ли сразу следовать логике битового отображения СД для любых задач ?
при управлении портами через регистры МК - всё поставит сразу на свои места ( основное - привязка-отображение СД к номеру бита в байте ) - когда ты придёшь к этому моя не знает :( , но придёшь.....
сколько времени ты отвёл на реализацию своего проекта ? мало - можно делать как ты решил.... много - надо сразу всё продумать....
....переделывать потОм проект с одной доктрины на другую - сибе дороже, переделка займёт больше времени чем написание нового кода :(
ошибкой это не будет... можно отобразить любое число на любые СД
- 0000 = зажечь четыре СД
- 1011 = зажечь первый и четвёртый
..........и получить в дальнейшем геморрой :(
основное - привязка-отображение СД к номеру бита в байте ! этому надо следовать всегда, даже при простоте вашей игрушки....
.....перейдёте на управление СД через последПараллельнРегистр или введёте семисегментные индикаторы для отображения колва жизней и номера текущего уровня - запутаетесь сразу :(
не проще ли сразу следовать логике битового отображения СД для любых задач ?
при управлении портами через регистры МК - всё поставит сразу на свои места ( основное - привязка-отображение СД к номеру бита в байте ) - когда ты придёшь к этому моя не знает :( , но придёшь.....
сколько времени ты отвёл на реализацию своего проекта ? мало - можно делать как ты решил.... много - надо сразу всё продумать....
....переделывать потОм проект с одной доктрины на другую - сибе дороже, переделка займёт больше времени чем написание нового кода :(
Кошмар) Ну я понимаю о чем ты) Семисегментный индикатор по тому же принципу делается? У меня есть индикатор такой от стратого компьютера. Можно же сделать отображение на нем уровня( или жизней)? Это надо через микросхему драйвера делать ? НУ и еще, к нашей задаче. Почему если держать долго кнопку, он не сработает как надо? Задержка?
Ну а вот я поставлю 4 светодиода. Я же могу выбрать значения от 1 до 4 и все
о чём и речь.... пишем функцию вывода байта ( 8 СД ) или 2-ух байтов ( 16 СД ) для всех значений.... и забываем о ней ( об её реализации ) , кстати через swith-case - устанете прописывать все 256 комбинаций для байта и 65535 комбинаций для двух байтов :)-
а через порты - легко и быстро
ничто не мешает в нужном месте вызывать функцию вкл СД с нужным параметром
- один из четырёх - 0001 0010 0100 1000
- один из восьми - 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000
нет ?
Ну а вот я поставлю 4 светодиода. Я же могу выбрать значения от 1 до 4 и все
о чём и речь.... пишем функцию вывода байта ( 8 СД ) или 2-ух байтов ( 16 СД ) для всех значений.... и забываем о ней ( об её реализации ) , кстати через swith-case - устанете прописывать все 256 комбинаций для байта и 65535 комбинаций для двух байтов :)-
а через порты - легко и быстро
ничто не мешает в нужном месте вызывать функцию вкл СД с нужным параметром
- один из четырёх - 0001 0010 0100 1000
- один из восьми - 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000
нет ?
Ну да, ты прав)
Кошмар) Ну я понимаю о чем ты) Семисегментный индикатор по тому же принципу делается? У меня есть индикатор такой от стратого компьютера. Можно же сделать отображение на нем уровня( или жизней)? Это надо через микросхему драйвера делать ?
ничё сложного....
НУ и еще, к нашей задаче. Почему если держать долго кнопку, он не сработает как надо? Задержка?
с суток... посплю, соберу, протестю....
Кошмар) Ну я понимаю о чем ты) Семисегментный индикатор по тому же принципу делается? У меня есть индикатор такой от стратого компьютера. Можно же сделать отображение на нем уровня( или жизней)? Это надо через микросхему драйвера делать ?
ничё сложного....
НУ и еще, к нашей задаче. Почему если держать долго кнопку, он не сработает как надо? Задержка?
с суток... посплю, соберу, протестю....
Спасибо)
читал http://arduino.ru/Tutorial/Upravlenie_portami_cherez_registry ?