123AVR.COM Homepage
Forum Home Forum Home >Общение и обсуждения >Общение по электронике
  New Posts New Posts RSS Feed - Вызов прерываний
  FAQ FAQ  Forum Search   Register Register  Login Login

Форум восстановлен после взлома! Увы многие сообщения утеряны, остались только до 2013 года. Теперь форум копируется ежедневно, посему просьба вновь пользоваться! С уважением - админ ! (2015/08)

Вызов прерываний

 Post Reply Post Reply
Author
Message Reverse Sort Order
Waldek View Drop Down
Guest
Guest
Post Options Post Options   Thanks (0) Thanks(0)   Quote Waldek Quote  Post ReplyReply Direct Link To This Post Topic: Вызов прерываний
    Posted: 18 Oct 2007 at 10:04
Еще такой вопрос в задачи 5 есть  #pragma used+  #pragma used-, что это такое??? И как оно записуется в ICC??? 
Back to Top
avr123 View Drop Down
Guest
Guest
Post Options Post Options   Thanks (0) Thanks(0)   Quote avr123 Quote  Post ReplyReply Direct Link To This Post Posted: 12 Oct 2007 at 07:27

Для ICC (в вопросе)  это  -  PORTD.5
врядли подойдет.   В конце задаси 1 написано как.

А прерывания настройте матером ICC и посмотрите исходник  - задача 6. 
Back to Top
Peshka View Drop Down
Guest
Guest
Post Options Post Options   Thanks (0) Thanks(0)   Quote Peshka Quote  Post ReplyReply Direct Link To This Post Posted: 29 Sep 2007 at 02:25
Это поможет ? :

примерно так

#include <tiny2313.h>
#include <stdio.h>

#define DATA PORTD.4
#define CLOCK PORTD.5
#define LE PORTD.6

тут твои глобальные переменые типа
char UART_RxBuf[2];

###############
потом тут обработчики прерываний

interrupt [USART_RXC] void usart_rx_isr(void)
{

unsigned char tmphead;

tmphead = ( UART_RxHead + 1 ) & 1;
UART_RxHead = tmphead;
UART_RxBuf[tmphead] = UDR;
}
етот код будет срабатывать как только байт будет принять по юарт
тогда главная прога в функции main будет прервана

переменая UART_RxBuf[tmphead у меня глобальная и к ней есть доступ из главной проги а так же любой другой обработчик прерываний может иметь доступ
###########################

если ты использовал таки прерывания то тебе надо включить их глобально

// Global enable interrupts
#asm("sei")


Back to Top
Waldek View Drop Down
Guest
Guest
Post Options Post Options   Thanks (0) Thanks(0)   Quote Waldek Quote  Post ReplyReply Direct Link To This Post Posted: 28 Sep 2007 at 09:29
Внимательно читал 5 урок по обмену данных через RS-232, не могу понять как вызвать прерывание USART_RXC. Пишу прогу на ICCAVR для ATMEGA 8515, помогите пожалуйста! Заранее благодарен!




Back to Top
 Post Reply Post Reply
  Share Topic   

Forum Jump Forum Permissions View Drop Down

Forum Software by Web Wiz Forums® version 11.03
Copyright ©2001-2015 Web Wiz Ltd.

Rating All.BY Rambler's Top100 ���� - �������. ������� ������