реклама на сайте
подробности

 
 
> Светофор в "Си"для контроллера с SIG_INTERRUPT0
konstatinopol
сообщение Jan 31 2009, 12:18
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 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;
}
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
konstatinopol
сообщение Feb 2 2009, 18:24
Сообщение #2


Участник
*

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



Цитата(aesok @ Feb 2 2009, 21:28) *
Ах..... не умеете Вы учиться на чужих ошибках. Будете учиться на своих, по крайней мере как делать правильно Вам расказали.

На своих всегда интерестнее ...
Всёравно спасибо, для меня щас главное что всё работает!!!!
Причина редактирования: Уменьшение размера цитаты. Цитируя всего два предложения убирайте из цитаты ненужный исходник!
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 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


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st August 2025 - 00:58
Рейтинг@Mail.ru


Страница сгенерированна за 0.01318 секунд с 7
ELECTRONIX ©2004-2016