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

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

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

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

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

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

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

 
Опции темы
Непрочитано 06.07.2012, 12:42  
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 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.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: uart + aTMEGA 8

Никакой командой не делается, сконфигурируй УАРТ и сиди жди прерывания от приемника
niXto вне форума  
Сказали "Спасибо" niXto
warel (29.06.2019)
Непрочитано 06.07.2012, 17:13  
_Артём_
Гражданин KAZUS.RU
 
Регистрация: 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.RU
 
Регистрация: 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.RU
 
Регистрация: 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.RU
 
Регистрация: 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.RU
 
Регистрация: 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.RU
 
Регистрация: 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.RU
 
Регистрация: 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.RU
 
Регистрация: 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, время: 09:51.


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