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

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

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

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

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

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

AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR...

 
Опции темы
Непрочитано 11.06.2013, 11:32  
igor351
Прописка
 
Регистрация: 04.11.2007
Сообщений: 100
Сказал спасибо: 61
Сказали Спасибо 173 раз(а) в 33 сообщении(ях)
igor351 на пути к лучшему
По умолчанию Re: Глючит uasart в mega16

У меня на 2313 такое было разок - либо кварц ставить либо контролер менять, от внутреннего генератора этот мк так и не получилось связать с терминалом Упсс пропустил что от кварца... Может все таки кварц подглючивает?
Реклама:

Последний раз редактировалось igor351; 11.06.2013 в 11:35.
igor351 вне форума  
Непрочитано 11.06.2013, 13:55  
vynt
Почётный гражданин KAZUS.RU
 
Аватар для vynt
 
Регистрация: 02.03.2011
Адрес: Россия, КБР
Сообщений: 629
Сказал спасибо: 108
Сказали Спасибо 596 раз(а) в 334 сообщении(ях)
vynt на пути к лучшему
По умолчанию Re: Глючит uasart в mega16

1. Причина смены IDE? Был ли перенос на другой ПК/другая ОС? - возможно причина кракозябр кроется в ОС (кодовая страница терминала)
2. Модем с МК работает то? кракозябры только в терминале?
3. Очень редко, но бывает - какая либо опция оптимизации линковщика убирает из програмы код, по её мнению "не обязательный"
vynt вне форума  
Непрочитано 11.06.2013, 14:15  
vynt
Почётный гражданин KAZUS.RU
 
Аватар для vynt
 
Регистрация: 02.03.2011
Адрес: Россия, КБР
Сообщений: 629
Сказал спасибо: 108
Сказали Спасибо 596 раз(а) в 334 сообщении(ях)
vynt на пути к лучшему
По умолчанию Re: Глючит uasart в mega16

внимательнее посмотрел на "буфер" и исходник... судя по содержимому буфера это не кодировка терминала, а всё таки или частота кварца или настройки UART (чтоб лишний раз убедиться - посылать по одному символу и смотреть эхо ответ модема)
1. почему скорость 9600? у модемов она обычно 57200
2. почему кварц 8МГц? лучше уж 11059200Гц, или другой с % ошибок 0!
3. в функцию USART_Init настоятельно рекомендую добавить код проверки пуст ли приёмник и передатчик (иначе UART однажды может просто заткнуться, поможет только выключение питания)
4. и очень, очень внимательно читать DataSheet на все устройства
vynt вне форума  
Непрочитано 11.06.2013, 15:14  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Глючит uasart в mega16

Сообщение от TechMike Посмотреть сообщение
Глючит uasart в mega16
Прочтите наконец инструкцию.
omercury вне форума  
Непрочитано 11.06.2013, 16:00  
usr10000
Временная регистрация
 
Регистрация: 12.11.2008
Адрес: LT
Сообщений: 69
Сказал спасибо: 12
Сказали Спасибо 33 раз(а) в 23 сообщении(ях)
usr10000 на пути к лучшему
По умолчанию Re: Глючит uasart в mega16

Сообщение от TechMike Посмотреть сообщение
Второй день бьюсь с проблемой обмена mega16 с siemens tc35
Скорости явно не совпадают - в буфере, что ни число, то несколько нулей подряд в бинарном виде. И символов в два раза больше - скорость usart МК примерно в два раза больше. Смотрите отладчиком что в UBRR, правильно ли установлен бит U2X. Наконец, сделайте вставку с постоянной посылкой 0x55 и осциллографом гляньте.
usr10000 вне форума  
Непрочитано 11.06.2013, 22:02  
TechMike
Вид на жительство
 
Регистрация: 02.11.2008
Сообщений: 319
Сказал спасибо: 17
Сказали Спасибо 11 раз(а) в 11 сообщении(ях)
TechMike на пути к лучшему
По умолчанию Re: Глючит uasart в mega16

По порядку:
1. заменил МК на заведомо рабочий - не помогло, симптомы теже.
2. из терминала дал модему команды:
Код:
AT+IPR=9600
OK
AT+IPR?
+IPR: 9600

OK
AT&W0
OK
Передернул питания всего, теперь модем выдает
Код:
^SYSSTART
Т.е. команду модем понял - проблему это не решило.
3. настраиваю usart вот так:
Код:
void USART_Init(unsigned int ubrr)
{
/* Set baud rate */
UBRRH = 0b00000000;
UBRRL =0b00110011; 
/* Enable receiver and transmitter */
UCSRB = (1‹‹RXEN)|(1‹‹TXEN)|(1‹‹RXCIE);
/* Set frame format: 8data, 1stop bit, Parity Disabled, Asynchronous Operation*/
UCSRC = (1‹‹URSEL)|(0‹‹USBS)|(3‹‹UCSZ0);

}
Смотрю в отладке и датащит конечно, все верно, но проблема остается.
4. пытаюсь всю настройку usart переделать на побитное присвоение вот так:
Код:
void USART_Init(unsigned int ubrr)
{
/* Set baud rate */
UBRRH = 0b00000000;
UBRRL =0b00110011; 
/* Enable receiver and transmitter */
//UCSRB = (1‹‹RXEN)|(1‹‹TXEN)|(1‹‹RXCIE);
UCSRA=0b00000011;
UCSRB = 0b00011011;
/* Set frame format: 8data, 1stop bit, Parity Disabled, Asynchronous Operation*/
//UCSRC = (1‹‹URSEL)|(0‹‹USBS)|(3‹‹UCSZ0);
UCSRC =0b01100001; 
}
Не помогло но теперь МК не выдает ничего в модем. Пока разбираюсь, но судя по отладке, не ставится бит RXEN в UCSRB, хотя присваиваю его =1.
5. проверяю монтаж, передергиваю провода на макетке - результат нулевой, проблема та же.
TechMike вне форума  
Непрочитано 12.06.2013, 10:42  
_Слон_
Прописка
 
Аватар для _Слон_
 
Регистрация: 25.02.2011
Сообщений: 122
Сказал спасибо: 61
Сказали Спасибо 23 раз(а) в 19 сообщении(ях)
_Слон_ на пути к лучшему
По умолчанию Re: Глючит uasart в mega16

Возможен и глюк компилятора. У меня раз были траблы в 6-ой атмеловской студии с мегой 32. Когда в мейк-файле была прописана ATmega32A, код неправильно работал с прерываниями (кажется...точно не помню). Нужно было исправить на ATmega32(без буквы А), и всё заработало.
_Слон_ вне форума  
Непрочитано 12.06.2013, 17:09  
vynt
Почётный гражданин KAZUS.RU
 
Аватар для vynt
 
Регистрация: 02.03.2011
Адрес: Россия, КБР
Сообщений: 629
Сказал спасибо: 108
Сказали Спасибо 596 раз(а) в 334 сообщении(ях)
vynt на пути к лучшему
По умолчанию Re: Глючит uasart в mega16

Внимательно смотрим секцию Include...
Я не увидел подключения необходимого файла с описанием специфики данного конкретного чипа (регистр=адрес, бит=номер). Файл должен имеет название iom16.h или наподобие (WinAvr не пользуюсь). Подключить к проекту просто io.h не достаточно.

я инициализацию делаю так (Mega162, 11059200Hz):
void uart0_init(void) //UART0 initialisation 9600bps
{
unsigned char a;
UCSR0B = 0x00; //disable while setting baud rate
while( (UCSR0A & (1‹‹RXC0)) ) a=UDR0;
while( (UCSR0A & (1‹‹TXC0)) ) ;
UCSR0A = 0x00; //0x02
UCSR0C = 0xA6; //parity: Even, char size: 8 bit
UBRR0L = 0x47; //set baud rate lo
UBRR0H = 0x00; //set baud rate hi
UCSR0B = 0xD8; //
}

Последний раз редактировалось vynt; 12.06.2013 в 17:37.
vynt вне форума  
Непрочитано 12.06.2013, 22:22  
TechMike
Вид на жительство
 
Регистрация: 02.11.2008
Сообщений: 319
Сказал спасибо: 17
Сказали Спасибо 11 раз(а) в 11 сообщении(ях)
TechMike на пути к лучшему
По умолчанию Re: Глючит uasart в mega16

Сообщение от vynt Посмотреть сообщение
Внимательно смотрим секцию Include...
Я не увидел подключения необходимого файла с описанием специфики данного конкретного чипа (регистр=адрес, бит=номер). Файл должен имеет название iom16.h или наподобие (WinAvr не пользуюсь). Подключить к проекту просто io.h не достаточно.

я инициализацию делаю так (Mega162, 11059200Hz):
void uart0_init(void) //UART0 initialisation 9600bps
{
unsigned char a;
UCSR0B = 0x00; //disable while setting baud rate
while( (UCSR0A & (1‹‹RXC0)) ) a=UDR0;
while( (UCSR0A & (1‹‹TXC0)) ) ;
UCSR0A = 0x00; //0x02
UCSR0C = 0xA6; //parity: Even, char size: 8 bit
UBRR0L = 0x47; //set baud rate lo
UBRR0H = 0x00; //set baud rate hi
UCSR0B = 0xD8; //
}
Подключено все правильно, это рекомендации GCC(WinAvr) нужно подключить io.h и потом в makefile описать тип МК.
Попробовал как вы рекомендовали инициализировать usart - не помогло.
Код:
void USART_Init(unsigned int ubrr)
{
 unsigned char a;
 UCSRB = 0x00; //disable while setting baud rate
 while( (UCSRA & (1‹‹RXC)) ) a=UDR;
 while( (UCSRA & (1‹‹TXC)) ) ;
 UCSRA = 0x00; //0x02
 UCSRC = 0xA6; //parity: Even, char size: 8 bit
 UBRRL = 0b00110011; //set baud rate lo
 UBRRH = 0x00; //set baud rate hi
 /* Enable receiver and transmitter */
 UCSRB = (1‹‹RXEN)|(1‹‹TXEN)|(1‹‹RXCIE);
 /* Set frame format: 8data, 1stop bit, Parity Disabled, Asynchronous Operation*/
 UCSRC = (1‹‹URSEL)|(0‹‹USBS)|(3‹‹UCSZ0);
}
TechMike вне форума  
Непрочитано 12.06.2013, 23:45  
Someone
Гражданин KAZUS.RU
 
Регистрация: 16.06.2005
Сообщений: 944
Сказал спасибо: 25
Сказали Спасибо 174 раз(а) в 123 сообщении(ях)
Someone на пути к лучшему
По умолчанию Re: Глючит uasart в mega16

Сообщение от TechMike Посмотреть сообщение
//UCSRC = (1‹‹URSEL)|(0‹‹USBS)|(3‹‹UCSZ0);
UCSRC =0b01100001;
Хинт: это вовсе не равнозначные записи. Даже если оно и запишется в правильный регистр, в чём сомневаюсь, т.к. бит7, урсел который, равен 0, и значит значение пойдёт не в управляющий регистр, а в битрейт(убрраш), делая его далеко не 9600, то ты получишь синхронный режим, евен парити, символ 5 бит, и вдобавок поменяешь полярность клока.
Someone вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Цифровой фильтр на Mega16 AlexPi Песочница (вопросы новичков) 21 10.06.2013 11:35
mega16+hd44780+ds18b20 глючит при работе в железе Jkot Микроконтроллеры, АЦП, память и т.д 3 18.11.2009 15:50
Генерация стабильных импульсов на mega16 moroz_gr Микроконтроллеры, АЦП, память и т.д 14 02.03.2009 17:58
Mega16: вход в противофазу OCR1A и B code-by Микроконтроллеры, АЦП, память и т.д 8 10.11.2008 12:18
Как померять низкочастотный сигнал на лапке Mega16 ? TiN_TM Микроконтроллеры, АЦП, память и т.д 4 25.07.2006 12:53


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


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