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

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

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

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

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

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

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

 
Опции темы
Непрочитано 07.10.2011, 17:28  
Ara41
Почётный гражданин KAZUS.RU
 
Регистрация: 30.09.2006
Сообщений: 1,560
Сказал спасибо: 158
Сказали Спасибо 661 раз(а) в 431 сообщении(ях)
Ara41 на пути к лучшему
По умолчанию Atmega8+COM-порт

Приветствую всех. Пытаюсь разобраться с атмегой, хочу настроить взаимодействие с ПК через ком-порт. Простенький код прерывается по окончанию приема по USART и отсылает принятое обратно. com0com используется для тестирования. Отправляю терминалом символ - получаю в ответ кучу FF (иногда 80), в протеусе ошибка - [AVR USART] Rx frame error. Перебирал разные скорости, разные тактовые частоты - что-то ничего не выходит =(
В чем проблема и как пофиксить? Код, проект протеуса и прошивки прилагаю.
Код:
#include ‹avr/io.h›
    #include ‹avr/interrupt.h›
    #include ‹avr/signal.h›
    void USART_Transmit( unsigned char data );
    ISR(USART_RXC_vect)
    {
    int b;
    b = UDR;
   USART_Transmit(b);
    }
       
    void USART_Transmit( unsigned char data )
    {
    while ( !(UCSRA & (1‹‹UDRE)) );
    UDR = data;
    }
     
    int main(void)
    {
// USART initialization
// Communication Parameters: 8 Data, 2 Stop, No Parity
// USART Receiver: On
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud Rate: 4800
UCSRA=0x00;
UCSRB=0xD8;
UCSRC=0x8E;
UBRRH=0x00;
UBRRL=0x33;
DDRB = 0xFF;
    sei();
   
    while(1)
    {
    }//
    }
Вложения:
Тип файла: rar COM-diods.rar (18.3 Кб, 104 просмотров)
Реклама:

Последний раз редактировалось Ara41; 07.10.2011 в 19:16.
Ara41 вне форума  
Непрочитано 07.10.2011, 17:40  
hostel6psu
Частый гость
 
Регистрация: 23.08.2007
Сообщений: 27
Сказал спасибо: 1
Сказали Спасибо 28 раз(а) в 13 сообщении(ях)
hostel6psu на пути к лучшему
По умолчанию Re: Atmega8+COM-порт

b почему int??? char должен быть
hostel6psu вне форума  
Непрочитано 07.10.2011, 17:46  
skrynia
Прописка
 
Аватар для skrynia
 
Регистрация: 07.03.2009
Адрес: MN
Сообщений: 168
Сказал спасибо: 6
Сказали Спасибо 31 раз(а) в 21 сообщении(ях)
skrynia на пути к лучшему
По умолчанию Re: Atmega8+COM-порт

Сделайте сначала, чтобы программа после старта сама отправляла 1 байт по USART и посмотрите на графиках в протеусе, что там выходит.
__________________
  • Квадрат - это тоже прямоугольник, только более квадратный и не такой вытянутый
  • Двуугольник - это треугольник, только поломанный
  • Одноугольника не видел
skrynia вне форума  
Непрочитано 07.10.2011, 20:30  
Ara41
Почётный гражданин KAZUS.RU
 
Регистрация: 30.09.2006
Сообщений: 1,560
Сказал спасибо: 158
Сказали Спасибо 661 раз(а) в 431 сообщении(ях)
Ara41 на пути к лучшему
По умолчанию Re: Atmega8+COM-порт

вот, отправка одного байта от МК
Миниатюры:
Нажмите на изображение для увеличения
Название: 6677.jpg
Просмотров: 71
Размер:	69.5 Кб
ID:	26892  
Ara41 вне форума  
Непрочитано 08.10.2011, 20:17  
CodeNameHawk
Вид на жительство
 
Регистрация: 21.10.2009
Сообщений: 343
Сказал спасибо: 181
Сказали Спасибо 64 раз(а) в 56 сообщении(ях)
CodeNameHawk на пути к лучшему
По умолчанию Re: Atmega8+COM-порт

Virtual terminal пробовали?
CodeNameHawk вне форума  
Непрочитано 08.10.2011, 20:22  
CodeNameHawk
Вид на жительство
 
Регистрация: 21.10.2009
Сообщений: 343
Сказал спасибо: 181
Сказали Спасибо 64 раз(а) в 56 сообщении(ях)
CodeNameHawk на пути к лучшему
По умолчанию Re: Atmega8+COM-порт

Сообщение от Ara41 Посмотреть сообщение
// Communication Parameters: 8 Data, 2 Stop, No Parity
2 Stop по каким соображениям? Как комп настроен?
CodeNameHawk вне форума  
Непрочитано 08.10.2011, 20:45  
Ara41
Почётный гражданин KAZUS.RU
 
Регистрация: 30.09.2006
Сообщений: 1,560
Сказал спасибо: 158
Сказали Спасибо 661 раз(а) в 431 сообщении(ях)
Ara41 на пути к лучшему
По умолчанию Re: Atmega8+COM-порт

2 стоп из соображений, что всё уже перепробывал Видимо, это был последний из вариантов. Виртуал терминал пробовал, кажет аналогично terminal.
А что значит "как комп настроен"?
Ara41 вне форума  
Непрочитано 08.10.2011, 23:20  
ru
Частый гость
 
Аватар для ru
 
Регистрация: 07.07.2004
Сообщений: 37
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
ru на пути к лучшему
По умолчанию Re: Atmega8+COM-порт

а зачем включено прерывание передача завершена? попробуй его отключить для начала
ru вне форума  
Непрочитано 09.10.2011, 04:41  
Ara41
Почётный гражданин KAZUS.RU
 
Регистрация: 30.09.2006
Сообщений: 1,560
Сказал спасибо: 158
Сказали Спасибо 661 раз(а) в 431 сообщении(ях)
Ara41 на пути к лучшему
По умолчанию Re: Atmega8+COM-порт

Господа, просьба давать более развернутые ответы, хотя бы на несколько слов. Ведь если бы я был гуру АВР - я бы не задавал этот простенький для вас вопрос?
Если речь идет про обработку ISR(USART_RXC_vect) - то это обработка "прием завершен", а не передача. Программка тестовая, цель - осуществить устойчивое взаимодействие с ПК в обе стороны. Потом прикручу проверку ЦРЦ, будет простенький протокол передачи данных.
Отключил прерывания - ничего не изменилось.
Ara41 вне форума  
Непрочитано 09.10.2011, 09:01  
Zemlyanov
Гражданин KAZUS.RU
 
Регистрация: 17.09.2006
Сообщений: 633
Сказал спасибо: 78
Сказали Спасибо 69 раз(а) в 57 сообщении(ях)
Zemlyanov на пути к лучшему
По умолчанию Re: Atmega8+COM-порт

А какой у вас кварц стоит ?
Zemlyanov вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Взаимозаменяемы ли ATmega8 и Attiny2313 rusentu Микроконтроллеры, АЦП, память и т.д 17 21.08.2010 18:41
ATMega8 VS USB SkyProc Микроконтроллеры, АЦП, память и т.д 28 28.04.2010 17:01
Передача данных с ATmega8 на COM порт ПК sergx1300 Микроконтроллеры, АЦП, память и т.д 32 20.04.2010 14:19
Порт С в ATmega8 VVKart Микроконтроллеры, АЦП, память и т.д 2 10.11.2009 14:08
Atmega 16 не работает кнопка через порт PC4 ? uriy-ch Микроконтроллеры, АЦП, память и т.д 16 14.01.2009 21:42


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


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