Форум восстановлен после взлома! Увы многие сообщения утеряны, остались только до 2013 года. Теперь форум копируется ежедневно, посему просьба вновь пользоваться! С уважением - админ ! (2015/08) |
Вызов прерываний |
Post Reply |
Author | |
Waldek
Guest |
Post Options
Thanks(0)
Posted: 18 Oct 2007 at 10:04 |
Еще такой вопрос в задачи 5 есть
#pragma used+
#pragma used-, что это такое??? И как оно записуется в ICC???
|
|
avr123
Guest |
Post Options
Thanks(0)
|
Для ICC (в вопросе) это - PORTD.5 А прерывания настройте матером ICC и посмотрите исходник - задача 6.
|
|
Peshka
Guest |
Post Options
Thanks(0)
|
Это поможет ? :
примерно так #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") |
|
Waldek
Guest |
Post Options
Thanks(0)
|
Внимательно читал 5 урок по обмену данных через RS-232, не могу понять как вызвать прерывание USART_RXC. Пишу прогу на ICCAVR для ATMEGA 8515, помогите пожалуйста! Заранее благодарен!
|
|
Post Reply | |
Tweet
|
Forum Jump | Forum Permissions You cannot post new topics in this forum You cannot reply to topics in this forum You cannot delete your posts in this forum You cannot edit your posts in this forum You cannot create polls in this forum You cannot vote in polls in this forum |