непонимаю как бегущий огонь сделать

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

непонимаю как бегущий огонь сделать

Сообщение Myp » 24 фев 2007, 19:56

Код: Выделить всё
     PIND.4 = 0;
     PIND.6 = 1;
     delay_ms(5000);
     PIND.6 = 0;
     PIND.5 = 1;
     delay_ms(5000);
     PIND.5 = 0;
     PIND.4 = 1;
     delay_ms(5000);


вроде всё просто так почему не работает?
должен получиться типа бегущий огонь
а в итоге такой результат

загорается 6 пин
загорается 5 пин
тухнут оба пина
загорается 5 и 4 пин
тухнет 5 пин
тухнут все

1. 000
2. 100
3. 110
4. 000
5. 011
6. 001
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Сообщение Myp » 24 фев 2007, 20:25

блин вобще дурь какаято

Код: Выделить всё
     PIND.4 = 1;
     delay_ms(5000);
     PIND.4 = 0;
     delay_ms(5000);

в итоге одновременно моргает 5 и 6 нога а 4 всегда ноль...

этож бред какойто :shock:
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Сообщение D-M » 24 фев 2007, 20:35

надо в симуляторе попробовать
потому что когдая я делал что-то подобное тоже ни пойми что получалось, а оказывается просто паять неумею :lol:
Аватара пользователя
D-M
 
Сообщения: 486
Зарегистрирован: 28 мар 2006, 17:28
Откуда: Пенза

Сообщение D-M » 24 фев 2007, 20:37

ток щас в код всмотрелся, ты зачем в PIN единицы и нули пишешь? :shock:
Аватара пользователя
D-M
 
Сообщения: 486
Зарегистрирован: 28 мар 2006, 17:28
Откуда: Пенза

Сообщение Myp » 24 фев 2007, 20:40

ну так эта
чтоб моргало
записал типа единичку он горит
записал нолик не горит


тока я нехрена непойму в каком именно месте я дурак
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Сообщение D-M » 24 фев 2007, 20:41

да нет наверно эт я дурак,
НО!!!
PIN Read only
Аватара пользователя
D-M
 
Сообщения: 486
Зарегистрирован: 28 мар 2006, 17:28
Откуда: Пенза

Сообщение Myp » 24 фев 2007, 20:49

бугагага
это у меня  после празника, с похмелья туплю =)
недавно тока проснулся, аспирину выпил и пошёл кодить...



а вобще с какого фига тогда у меня светик моргает???

Код: Выделить всё
PINB.4 = 1;
PINB.4 = 0;
это работает :shock:
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Сообщение D-M » 24 фев 2007, 20:52

Myp писал(а):

а вобще с какого фига тогда у меня светик моргает???



я бы предположил что это глюки :lol:
Аватара пользователя
D-M
 
Сообщения: 486
Зарегистрирован: 28 мар 2006, 17:28
Откуда: Пенза

Re: непонимаю как бегущий огонь сделать

Сообщение avr123.nm.ru » 24 фев 2007, 20:58

Myp писал(а):
Код: Выделить всё
     PIND.4 = 0;
     PIND.6 = 1;
     delay_ms(5000);
     PIND.6 = 0;
     PIND.5 = 1;
     delay_ms(5000);
     PIND.5 = 0;
     PIND.4 = 1;
     delay_ms(5000);


должен получиться типа бегущий огонь


Как обычно - в курс:

http://avr123.nm.ru/02.htm

Порт_B имеет (как и другие порты МК)
минимум 3 сопоставленных ему регистра


и далее подробно. И названы те МК у которых писать в PIN бессмысленно и те у которых такая запись переключает ножку.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва

Сообщение avr123.nm.ru » 24 фев 2007, 21:03

чуть ниже

"таблица состояния ножки МК"

http://avr123.nm.ru/z1.htm

БОЛЬШИМИ КРАСНЫМи БУКВАМИ:

Внимание !  Очень важно!

Битовые операции !

....   и для всех популярных компиляторов примеры.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва

Сообщение avr123.nm.ru » 24 фев 2007, 21:07

Короче - записывать что-то в регистр PINx бессмысленно !  
Имеет смысл только чтение из него.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва

Сообщение Myp » 24 фев 2007, 21:27

avr123.nm.ru писал(а):Короче - записывать что-то в регистр PINx бессмысленно !  
Имеет смысл только чтение из него.

я это знаю

но блин
я писал и у меня ноги меняли состояние


PINB.4 = 1;
PINB.4 = 0;
это работает
:?
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Сообщение Myp » 25 фев 2007, 00:07

не ну правда сами попробуйте =)
чесное слово это мне не приглючилось
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Сообщение TamTam » 25 фев 2007, 12:04

Вот те бегущие огни в одну строчку правдо это я не в этих целях юзал

#define ADC_LINE_CHANGE_DEC      PORTB=(( (PORTB-(4<<1)) & (3<<4) )) | (PORTB& (~(3<<4)));
#define ADC_LINE_CHANGE_INC       PORTB=(( (PORTB+(1<<4)) & (3<<4) )) | (PORTB& (~(3<<4)));
TamTam
 
Сообщения: 10
Зарегистрирован: 16 фев 2007, 20:30
Откуда: г.Воронеж

Сообщение avr123.nm.ru » 25 фев 2007, 12:17

использовать это наверно так ?

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

#include < микроконтроллер .h>
#include <delay.h>

#define PORT_DEC      PORTB=(( (PORTB-(4<<1)) & (3<<4) )) | (PORTB& (~(3<<4)));

#define PORT_INC       PORTB=(( (PORTB+(1<<4)) & (3<<4) )) | (PORTB& (~(3<<4)));

main{

DDRB = 255;

while(1){

       PORT_INC

       delay_ms(пауза между переключениями);

           }
      }
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва

След.

Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 21