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

 
 
> Прерывания в at90can128
J0hnNick
сообщение Jun 9 2007, 05:36
Сообщение #1





Группа: Новичок
Сообщений: 13
Регистрация: 28-04-07
Пользователь №: 27 387



Не могу разобраться с прерываниями. Контроллер at90can128, компилятор WinAVR.
Подскажите, пожалуйста, что не так. Программка простейшаю-хочу зажечь светодиод по нажатию кнопки о потушить по отпусканию.
ps Делал аналогичную программу на STK200-все отлично в реале работает.

Код
#include <stdio.h>
#include <avr/interrupt.h>
#include <AVR/io.h>
#include <stdlib.h>
#include <AVR/iocanxx.h>
#include <avr/iocan128.h>
#include "global.h"        // include our global settings

ISR (INT0_vect)                        // обработчик прерывания INT0
{
    EIFR = 0x00;
    PORTB &= ~(1<<PORTB0);    
}

ISR (INT1_vect)                        // обработчик прерывания INT0
{
    EIFR = 0x00;
    PORTB &= (1<<PORTB0);    
}

int main(void)
{
DDRB=0xFF;             // порт B настроен на выходы
PORTB=0xFF;

DDRE=0x00;            // порт E настроен на вход
PORTE=0xFF;            // порт E подтянут к VCC

EICRB = 0b11100000;
EIMSK = 0b11000000;
SREG = 0b10000000;        //global interrupt en  


for(;;)
{
}
return 0;
}
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 18th July 2025 - 00:54
Рейтинг@Mail.ru


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