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

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

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

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

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

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

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

 
Опции темы
Непрочитано 10.02.2006, 21:52  
Святослав
Гость
 
Сообщений: n/a
По умолчанию Передача данных по RS232

Здравствуйте. Небольшой вопрос. Контроллер ATmega128. Нужно передать в компьютер структуру

short b[4];
unsigned сhar* cb = (unsigned char*) b;

Я инициализирую асинхронную приемо передачу

UCSR0A=0x08;
UCSR0B=0x08;
UCSR0C=0x86;
UBRR0L = 0x2F;
UBRR0H = 0x00;

Далее в ДШ написана функция для отправки данных

void USART_Transmit( unsigned char data )
{
/* Ожидание освобождения буфера передатчика */
while ( !( UCSRA & (1‹‹UDRE)) );
/* Помещение данных в буфер, отправка данных */
UDR = data;
}

Для того чтобы отправить эту структуру мне нужно написать так???

USART_Transmit(cb);

А прием выглядит приблизительно так же

unsigned char USART_Receive( void )
{
/* Ожидание окончания приема данных */
while ( !(UCSRA & (1‹‹RXC)) );
/* Загрузка принятых данных из буфера */
return UDR;
}

Мне тоже достаточно написать

cb=USART_Receive; ????

Заранее спасибо
Реклама:
 
Непрочитано 11.02.2006, 08:47  
Святослав
Гость
 
Сообщений: n/a
По умолчанию

Никто не знает как пользоваться USART?????
 
Непрочитано 11.02.2006, 17:01  
Гость
 
Сообщений: n/a
По умолчанию

Обьясни что значит запись !( UCSRA & (1‹‹UDRE)), ведь ‹‹ вроде сдвиг влево, то непонятно как он действует.
а здесь вроде так
unsigned char USART_Receive(unsigned char date)
{
while ( !(UCSRA & (1‹‹RXC)) );
UDR=date;
}
 
Непрочитано 11.02.2006, 23:04  
Святослав
Гость
 
Сообщений: n/a
По умолчанию

Понятия не имею. Это все было в ДШ )))
 
Непрочитано 12.02.2006, 05:27  
impuls-v
Частый гость
 
Регистрация: 18.01.2005
Сообщений: 33
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
impuls-v на пути к лучшему
По умолчанию

извини ощиься наоборот надо
unsigned char USART_Receive(unsigned char date)
{
while ( !(UCSRA & (1‹‹RXC)) );
date=UDR;
}
impuls-v вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Беспроводная передача данных dimonbest Автоматика и аппаратура связи 76 12.05.2010 00:10
Беспроводная передача данных с МК Andrewg Микроконтроллеры, АЦП, память и т.д 2 11.12.2007 15:35
Передача по rs232(асинх) на picf629 CERGEI1982 Микроконтроллеры, АЦП, память и т.д 4 21.10.2007 17:23
Передача данных LSergM Автоматика и аппаратура связи 4 16.08.2007 08:11
передача данных по Ethernet Beduin Автоматика и аппаратура связи 2 16.03.2007 17:04


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


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