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

 
 
> Какие есть особенности инициализации UART2 и UART3 в atmega2560?
Oleg_IT
сообщение Feb 23 2011, 20:49
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 922
Регистрация: 3-06-05
Из: Москва
Пользователь №: 5 709



UART0, UART1 работают, а у второго и третьего каналов прерывания не идут. Инициализирую UART-ы одинаково, только номера меняю. Пример для UART0

volatile unsigned char FlagTx_0 = 1;
volatile unsigned char FlagTx_1 = 1;
volatile unsigned char FlagTx_2 = 1;
volatile unsigned char FlagTx_3 = 1;
volatile char Buff[10];
void StartTX_0(void)
{
FlagTx_0 = 0;

UCSR0C |= ((1 << UCSZ00) | (1 << UCSZ01));
UBRR0L = 14; // fosc = 13.824 MHz U2X = 0 BR = 57.6k
UBRR0H = 0;
UDR0 = Buff[0];
CountTx_0 = 1;
UCSR0B |= ((1 << TXEN0) | (1 << UDRIE0));
}

ISR (USART0_TX_vect)
{
FlagTx_0 = 1;
UCSR0B &=~ ((1 << TXCIE0) | (1 << TXEN0) | (1 << UDRIE0));
}

ISR (USART0_UDRE_vect)
{
UDR0 = Buff [CountTx_0];

CountTx_0++;
if (CountTx_0 == sizeof(Buff))
{
UCSR0B &=~ (1 << UDRIE0);
UCSR0B |= (1 << TXCIE0);
return;
}
}
Сразу скажу, может не всё запрограммировано строго по правилам, но первые два канала работают, а вторые два нет. Ератта молчит.
Регистры PRR0 и PRR1 проверял.
Что не так делаю. Поделитесь кодом правильной работы с этими каналами.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
xelax
сообщение Feb 28 2011, 16:24
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 370
Регистрация: 7-11-06
Пользователь №: 22 035



Вот здесь кое что обсуждалось

Так же в документации на gcc линкер можно почитать.

Но раз у вас даже на вектор прерывания не попадает, то проблема не в этом.

Хотя при написании кода под 2560 всё равно с этой проблемой столкнётесь, когда за 128к перевалите.
Go to the top of the page
 
+Quote Post
Oleg_IT
сообщение Mar 1 2011, 07:17
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 922
Регистрация: 3-06-05
Из: Москва
Пользователь №: 5 709



Цитата(xelax @ Feb 28 2011, 19:24) *
Вот здесь кое что обсуждалось

Так же в документации на gcc линкер можно почитать.

Но раз у вас даже на вектор прерывания не попадает, то проблема не в этом.

Хотя при написании кода под 2560 всё равно с этой проблемой столкнётесь, когда за 128к перевалите.

С 128к это я учту, но тут проблема явно не та, объём кода меньше 3,5к.
Чего ещё проверить можно, нужно?
Go to the top of the page
 
+Quote Post
SysRq
сообщение Mar 1 2011, 07:39
Сообщение #4


Чайник, 1 литр
****

Группа: Свой
Сообщений: 655
Регистрация: 17-05-06
Из: Moscow
Пользователь №: 17 168



Цитата(Oleg_IT @ Mar 1 2011, 10:17) *
Чего ещё проверить можно, нужно?
Выкладывайте весь проект, урезав до минимума, в котором проявляется проблема. Отметём хотябы программную часть.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Oleg_IT   Какие есть особенности инициализации UART2 и UART3 в atmega2560?   Feb 23 2011, 20:49
- - Juk1976   Цитата(Oleg_IT @ Feb 23 2011, 23:49) UART...   Feb 23 2011, 21:40
|- - Oleg_IT   Цитата(Juk1976 @ Feb 24 2011, 00:40) В па...   Feb 25 2011, 10:01
|- - Juk1976   Цитата(Oleg_IT @ Feb 25 2011, 13:01) Ваш ...   Feb 25 2011, 20:42
|- - Oleg_IT   У меня тоже ни когда с этим проблем не было. Преды...   Feb 26 2011, 07:12
- - SysRq   Цитата(Oleg_IT @ Feb 23 2011, 23:49) UART...   Feb 23 2011, 23:20
- - SysRq   Цитата(Oleg_IT @ Feb 26 2011, 10:12) Для ...   Feb 26 2011, 12:13
|- - demiurg_spb   Вспоминается мне один нюанс. В DS описывается четк...   Feb 26 2011, 13:37
|- - Oleg_IT   Цитата(SysRq @ Feb 26 2011, 15:13) Покажи...   Feb 26 2011, 15:26
|- - Oleg_IT   Прошу прощение за объёмы кода. Ассемблер код иниц...   Feb 26 2011, 19:48
- - SysRq   Bug 47696 - [AVR] Compilation for atmega2560 produ...   Feb 26 2011, 21:47
|- - Oleg_IT   Цитата(SysRq @ Feb 27 2011, 00:47) Bug 47...   Feb 27 2011, 09:16
|- - SysRq   AVCC к питанию подключен? PORTF питается от него, ...   Feb 27 2011, 10:07
- - Oleg_IT   AVCC через LC (рекомендованный) фильтр подключен к...   Feb 27 2011, 13:38
- - xelax   Может дело не в uart'е? Вы же не зря атмегу256...   Feb 28 2011, 10:26
|- - Oleg_IT   Цитата(xelax @ Feb 28 2011, 13:26) Может ...   Feb 28 2011, 12:18
- - Oleg_IT   Цитата(SysRq @ Mar 1 2011, 10:39) Выклады...   Mar 1 2011, 10:36


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

 


RSS Текстовая версия Сейчас: 22nd June 2025 - 20:31
Рейтинг@Mail.ru


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