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

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

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

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

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

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

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

 
Опции темы

UART + Atmega 8

Непрочитано 06.07.2012, 12:42  
miwutka
Почётный гражданин KAZUS.RUN
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию UART + Atmega 8

Хочу научиться связывать МК с ПК по ком-порту. Инфа передаваемая в ПК я принимаю, а вот когда с ПК передаю в МК то невижу... Подскажите какой командой это делается. Влажу проект ниже. Погладите. Пишу в кодевижн 2.05. еще хочеться отображать на ЖК 1601 принятые данные... Пните куда надо, подскажите
Вложения:
Тип файла: rar USART_Mega8.rar (68.4 Кб, 176 просмотров)
Реклама:
miwutka вне форума  
Сказали "Спасибо" miwutka
warel (29.06.2019)
Непрочитано 06.07.2012, 17:10  
niXto
Почётный гражданин KAZUS.RUN
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,026
Сказал спасибо: 60
Сказали Спасибо 3,941 раз(а) в 2,302 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: uart + aTMEGA 8

Никакой командой не делается, сконфигурируй УАРТ и сиди жди прерывания от приемника
niXto вне форума  
Сказали "Спасибо" niXto
warel (29.06.2019)
Непрочитано 06.07.2012, 17:13  
_Артём_
Гражданин KAZUS.RUN
 
Регистрация: 16.03.2011
Сообщений: 486
Сказал спасибо: 8
Сказали Спасибо 131 раз(а) в 116 сообщении(ях)
_Артём_ на пути к лучшему
По умолчанию Re: uart + aTMEGA 8

Сообщение от miwutka Посмотреть сообщение
Хочу научиться связывать МК с ПК по ком-порту. Инфа передаваемая в ПК я принимаю, а вот когда с ПК передаю в МК то невижу... Подскажите какой командой это делается. Влажу проект ниже. Погладите. Пишу в кодевижн 2.05. еще хочеться отображать на ЖК 1601 принятые данные... Пните куда надо, подскажите
Код:
while (1) {
		unsigned char rx_byte;
		if (UCSRA&(1‹‹RXC)) {
			rx_byte=UDR;
		}

	}
_Артём_ вне форума  
Сказали "Спасибо" _Артём_
warel (29.06.2019)
Непрочитано 06.07.2012, 17:26  
miwutka
Почётный гражданин KAZUS.RUN
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: uart + aTMEGA 8

rx_byte - сюда будет записываться 1 символ принятый на RX??
miwutka вне форума  
Сказали "Спасибо" miwutka
warel (29.06.2019)
Непрочитано 06.07.2012, 17:44  
_Артём_
Гражданин KAZUS.RUN
 
Регистрация: 16.03.2011
Сообщений: 486
Сказал спасибо: 8
Сказали Спасибо 131 раз(а) в 116 сообщении(ях)
_Артём_ на пути к лучшему
По умолчанию Re: uart + aTMEGA 8

Сообщение от miwutka Посмотреть сообщение
rx_byte - сюда будет записываться 1 символ принятый на RX??
Да, туда и запишется.
_Артём_ вне форума  
Сказали "Спасибо" _Артём_
warel (29.06.2019)
Непрочитано 06.07.2012, 20:25  
miwutka
Почётный гражданин KAZUS.RUN
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: uart + aTMEGA 8

у меня такая хрень в тексте на прием. Как нею пользоаться?
// USART Receiver interrupt service routine
interrupt [USART_RXC] void usart_rx_isr(void)
{
char status,data;
status=UCSRA;
data=UDR;
if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0)
{
rx_buffer[rx_wr_index++]=data;
#if RX_BUFFER_SIZE == 256
// special case for receiver buffer size=256
if (++rx_counter == 0)
{
#else
if (rx_wr_index == RX_BUFFER_SIZE) rx_wr_index=0;
if (++rx_counter == RX_BUFFER_SIZE)
{
rx_counter=0;
#endif
rx_buffer_overflow=1;
}
}
}

#ifndef _DEBUG_TERMINAL_IO_
// Get a character from the USART Receiver buffer
#define _ALTERNATE_GETCHAR_
#pragma used+
char getchar(void)
{
char data;
while (rx_counter==0);
data=rx_buffer[rx_rd_index++];
#if RX_BUFFER_SIZE != 256
if (rx_rd_index == RX_BUFFER_SIZE) rx_rd_index=0;
#endif
#asm("cli")
--rx_counter;
#asm("sei")
return data;
}
#pragma used-
#endif

Подскажите как исправить этот код чтоб принимать данные? Или просто добавить те две строки в основном цикле и все??

Последний раз редактировалось miwutka; 06.07.2012 в 20:34.
miwutka вне форума  
Сказали "Спасибо" miwutka
warel (29.06.2019)
Непрочитано 07.07.2012, 00:31  
_Артём_
Гражданин KAZUS.RUN
 
Регистрация: 16.03.2011
Сообщений: 486
Сказал спасибо: 8
Сказали Спасибо 131 раз(а) в 116 сообщении(ях)
_Артём_ на пути к лучшему
По умолчанию Re: uart + aTMEGA 8

Сообщение от miwutka Посмотреть сообщение
у меня такая хрень в тексте на прием. Как нею пользоаться?


Подскажите как исправить этот код чтоб принимать данные? Или просто добавить те две строки в основном цикле и все??
Не нравится - напишите свою функцию приёма - это несложно.

Сообщение от miwutka Посмотреть сообщение
Подскажите как исправить этот код чтоб принимать данные?
А прерывания по приёму разрешены?
Вызывать функцию get_char там где хотите читать данные.

Код:
if (rx_counter) {
unsigned char rx_byte=getchar();
}

Сообщение от miwutka Посмотреть сообщение
Или просто добавить те две строки в основном цикле и все??

Последний раз редактировалось _Артём_; 07.07.2012 в 00:35.
_Артём_ вне форума  
Сказали "Спасибо" _Артём_
warel (29.06.2019)
Непрочитано 07.07.2012, 00:33  
miwutka
Почётный гражданин KAZUS.RUN
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: uart + aTMEGA 8

разрешены. В архиве всё есть с исходником
miwutka вне форума  
Сказали "Спасибо" miwutka
warel (29.06.2019)
Непрочитано 07.07.2012, 14:37  
miwutka
Почётный гражданин KAZUS.RUN
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: UART + Atmega 8

не могу понять чуток код который сгенерид кодевижн. Может кто чуть подробнее объяснить мне его? ....
miwutka вне форума  
Сказали "Спасибо" miwutka
warel (29.06.2019)
Непрочитано 07.07.2012, 18:40  
_Артём_
Гражданин KAZUS.RUN
 
Регистрация: 16.03.2011
Сообщений: 486
Сказал спасибо: 8
Сказали Спасибо 131 раз(а) в 116 сообщении(ях)
_Артём_ на пути к лучшему
По умолчанию Re: UART + Atmega 8

Сообщение от miwutka Посмотреть сообщение
не могу понять чуток код который сгенерид кодевижн. Может кто чуть подробнее объяснить мне его? ....
А что там непонятного?
Код конечно мутный, но всё просто:

usart_rx_isr - прерывание по приёму байта
usart_tx_isr - прерывание по окончанию передачи байта (что кстати криво, но работоспособно)
putchar - посылка байта в USART
getchar - чтение байта из USART - причём программа зависнет в этой функции пока не прочитает байт, что тоже несколько примитивно
_Артём_ вне форума  
Сказали "Спасибо" _Артём_
warel (29.06.2019)
 
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ATMEGA простой UART (RS232) без max232 EXIS Микроконтроллеры, АЦП, память и т.д 39 09.12.2010 18:51
Вопрос по формату кадра UART в ATmega-х Don_Ambrosio Микроконтроллеры, АЦП, память и т.д 6 19.03.2008 23:56
UART и WinAVR SpiderHall Микроконтроллеры, АЦП, память и т.д 1 30.10.2006 20:53
UART slawa Микроконтроллеры, АЦП, память и т.д 4 19.01.2006 12:44
UART xaoc Микроконтроллеры, АЦП, память и т.д 13 01.07.2005 09:31


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.