Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 23.06.2011, 01:50  
zztopik
Частый гость
 
Регистрация: 16.07.2010
Сообщений: 12
Сказал спасибо: 1
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
zztopik на пути к лучшему
Печаль Atmega324PA что не так?

Всем привет!
тема значить в следующем:

Имеется устройство на базе Atmega324PA. Оба уарта на выход выкидывают то что надо, но как только устанавливаю разрешение на прерывания по приёму - виснит.
Помимо этого, устройства(3 шт на руках), имеют свойство ломатся=(
первое перестало видится программатором, ещё два просто заглохли.

Перед тем как заглохнуть, показалось что идёт постоянный ресет.

схема значить следующая:
ch.pdf

инициализация юартов такова:

void InitUART0(void)
{
RX_U0DDR &= ~(1‹‹U_SEL0); //ногу RX0 на вход
RX_U0PORT |= 1 ‹‹ U_SEL0; //ногу RX0 подтяжку
U_SEL0DDR |= 1 ‹‹ U_SEL0; //ногу USEL0 на выход

UCSR0A = 0x00;
UCSR0B = (1‹‹RXCIE0)|(1‹‹TXEN0)|(1‹‹RXEN0);
UCSR0C = 0x06;
UBRR0H = (unsigned char)(UART_UBBR_VALUE ›› ;
UBRR0L = (unsigned char)(UART_UBBR_VALUE);
}


void InitUART1(void)
{
RX_U1DDR &= ~(1‹‹U_SEL1); //ногу RX1 на вход
RX_U1PORT |= 1 ‹‹ U_SEL1; //ногу RX1 подтяжку
U_SEL1DDR |= 1 ‹‹ U_SEL1; //ногу USEL1 на выход

UCSR1A = 0x00;
UCSR1B = (1‹‹RXCIE1)|(1‹‹TXEN1)|(1‹‹RXEN1);
UCSR1C = 0x06;
UBRR1H = (unsigned char)(UART_UBBR_VALUE ›› ;
UBRR1L = (unsigned char)(UART_UBBR_VALUE);
}

обработчик следующий:
ISR(USART0_RXC_vect)
{
PORTC |= 1 ‹‹ PC3;
}

ISR(USART1_RXC_vect)
{
PORTC |= 1 ‹‹ PC3;
}

(светодиод(PC3 на схеме его нет) пришпарил и проверил при
UCSR1B = (0‹‹RXCIE1)|(1‹‹TXEN1)|(1‹‹RXEN1);
UCSR0B = (0‹‹RXCIE0)|(1‹‹TXEN0)|(1‹‹RXEN0);
тобиш без прерывания работает и дёргается так как хочу
)

но стоит включить прерывания так сразу полная опа

подскажите, пожалуйста, в чём загвоздка?
спасибо...
Реклама:

Последний раз редактировалось zztopik; 23.06.2011 в 01:56.
zztopik вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Альтернативная энергия kum1953 Поиск схем. Делимся схемами 1218 01.10.2012 16:30
Фастфуд ne-rad Отвлекитесь, эмбеддеры! 38 03.05.2012 12:52
Особенности звучания УМЗЧ с полевыми транзисторами falkonist Аудиотехника 42 22.01.2009 02:05
[Решено] Всем эмбеддерам посвящается... Decan Отвлекитесь, эмбеддеры! 0 24.10.2005 14:43


Часовой пояс GMT +4, время: 21:28.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot