|
Светофор в "Си"для контроллера с SIG_INTERRUPT0 |
|
|
|
Jan 31 2009, 12:18
|
Участник

Группа: Новичок
Сообщений: 18
Регистрация: 31-01-09
Пользователь №: 44 210

|
Такое дело надо спрограмировать светофор. Есть 2 микроконтроллера которые соединяются друг с другом и на каждый из них зашивается одна и таже программаю. Программа почти готова, но есть одна проблемка, у меня неправильно вызыватся SIG_INTERRUPT0. Буду ОЧЕНЬ благодарен любой помощи !!!! Зарание благодарю. Так выглядит борт :  CODE #include <stdint> #include <avr> #include <avr> #include <avr> #include <avr> // In/Outputs
short cntr = 0; int a=0; int b=0;
void lampochki() { if(PORTB==1) { PORTB=3; } else if(PORTB==3){ PORTB=4; }else if(PORTB==4) { PORTB=2; }else if(PORTB==2) { PORTB=1; a=1; PORTC = 1; //long i; //for(i = 0; i < 1000000; i++); } PORTC = 0; }
int main() { DDRB=7; DDRD=0; PORTB=1; DDRC = 7; PORTC=0; TCNT0 = 244; cntr = 28; TCCR0 = 5; TIMSK = 1; GICR = 64; // interrupt port D0 ein MCUCR = 1; // oder 2 sei();
while(1){} }
SIGNAL(SIG_OVERFLOW0){ if(!(cntr--)) { TCNT0=244; cntr=28; if(a==0) lampochki(); } }
SIGNAL(SIG_INTERRUPT0){ a=0; }
|
|
|
|
Сообщений в этой теме
konstatinopol Светофор в "Си"для контроллера с SIG_INTERRUPT0 Jan 31 2009, 12:18 _Pasha Цитата(konstatinopol @ Jan 31 2009, 15:18... Jan 31 2009, 13:55 aesok Цитата(_Pasha @ Jan 31 2009, 16:55) Надо ... Jan 31 2009, 14:09 Сергей Борщ Цитата(konstatinopol @ Jan 31 2009, 14:18... Jan 31 2009, 14:19 konstatinopol _Pasha что вы подразумеваете под " программа ... Jan 31 2009, 15:01 _Pasha Цитата(konstatinopol @ Jan 31 2009, 19:01... Jan 31 2009, 15:25  konstatinopol Цитата(_Pasha @ Jan 31 2009, 19:25) То, ч... Jan 31 2009, 15:37   Сергей Борщ Цитата(konstatinopol @ Jan 31 2009, 17:37... Jan 31 2009, 16:16 aesok Цитата(konstatinopol @ Jan 31 2009, 18:01... Jan 31 2009, 16:24  konstatinopol Спасибо Анатолий, теперь я понял что вы имели введ... Jan 31 2009, 16:29  rvk Цитата(aesok @ Jan 31 2009, 19:24) Время ... Jan 31 2009, 16:58   singlskv Цитата(rvk @ Jan 31 2009, 19:58) Вот тако... Jan 31 2009, 21:46  Qwertty Цитата(aesok @ Jan 31 2009, 19:24) Время ... Jan 31 2009, 19:40   aesok Цитата(Qwertty @ Jan 31 2009, 22:40) Вовс... Jan 31 2009, 21:00 rvk Если у Вас трудности с прерыванием, зачем его вооб... Jan 31 2009, 15:33 rvk Про задержку верно, только вместо 10000 поставить ... Jan 31 2009, 15:44 konstatinopol Такая ситуация что в данный момент я немогу опробо... Jan 31 2009, 16:18 Rst7 Цитатаfor(i=0;i<100;i++){
PORTC=rand();
}
Не, ... Jan 31 2009, 22:07 singlskv Цитата(Rst7 @ Feb 1 2009, 01:07) Вообще-т... Jan 31 2009, 22:13 Rst7 Цитатачерез пару страничек обсуждений
Будем счита... Jan 31 2009, 22:20 singlskv Цитата(Rst7 @ Feb 1 2009, 01:20) Будем сч... Jan 31 2009, 22:23 delamoure 2Rst7
"for(i=0;i<100;i++){*((volatile int*... Feb 1 2009, 01:14 konstatinopol Цитата(singlskv @ Feb 1 2009, 01:13) Ну в... Feb 1 2009, 13:12 SysRq Цитата(konstatinopol @ Feb 1 2009, 16:12)... Feb 1 2009, 13:45 rvk Цитата(konstatinopol @ Feb 1 2009, 16:12)... Feb 1 2009, 15:13 konstatinopol Всё работает не так как нужно, а именно :
первый б... Feb 1 2009, 15:30 aesok Зачем Вы переменую "a" сделали локальной... Feb 1 2009, 15:44 aesok У Вас прерывание настроенно по обеим фронтам MCUCR... Feb 1 2009, 22:11 konstatinopol Цитата(aesok @ Feb 1 2009, 18:44) Зачем В... Feb 1 2009, 15:54 SysRq А у вас ATMega8? Или 48? Feb 1 2009, 17:25 konstatinopol Цитата(SysRq @ Feb 1 2009, 21:25) Если у ... Feb 1 2009, 17:36 SysRq Я углядел что на картинке m48 и выше, а m8 не заме... Feb 1 2009, 17:52 konstatinopol Цитата(SysRq @ Feb 1 2009, 20:52) Я угляд... Feb 1 2009, 18:04 konstatinopol Цитата(aesok @ Feb 2 2009, 01:11) У Вас п... Feb 1 2009, 22:15 aesok Цитата(konstatinopol @ Feb 2 2009, 01:15)... Feb 1 2009, 22:34 konstatinopol Цитата(aesok @ Feb 2 2009, 01:34) Биты IS... Feb 1 2009, 23:10 _Pasha Цитата(konstatinopol @ Feb 2 2009, 03:10)... Feb 1 2009, 23:27  SysRq Цитата(_Pasha @ Feb 2 2009, 02:27) Если б... Feb 2 2009, 00:05 konstatinopol Господа благодарю всех за содействие программа раб... Feb 2 2009, 13:09 aesok Код#include <stdint.h>
#include <avr/i... Feb 2 2009, 17:28 konstatinopol Цитата(aesok @ Feb 2 2009, 21:28) Ах........ Feb 2 2009, 18:24
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|