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

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

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

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

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

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

Автоматика и аппаратура связи Дистанционное и непосредственное управление исполнительными механизмами, сотовая, а также радиосвязь.

 
Опции темы
Непрочитано 06.02.2008, 15:31  
dimonbest
Гражданин KAZUS.RU
 
Аватар для dimonbest
 
Регистрация: 30.04.2006
Сообщений: 984
Сказал спасибо: 5
Сказали Спасибо 18 раз(а) в 14 сообщении(ях)
dimonbest на пути к лучшему
По умолчанию

Сообщение от BigMazzi
Аппаратного буфера нет,его нужно делать программно.
А немного подробней можно? Мы отослали байт в приемник, и он там висит до тех пор пока мы его не считаем?
А если до того как мы его считаем, мы отошлем другой байт, то он заменит предыдущий?
Реклама:
dimonbest вне форума  
Непрочитано 06.02.2008, 16:04  
BigMazzi
Прописка
 
Регистрация: 09.06.2007
Сообщений: 96
Сказал спасибо: 1
Сказали Спасибо 1 раз в 1 сообщении
BigMazzi на пути к лучшему
По умолчанию

Ну на самом деле мы отсылаем не в приёмник, а в передатчик.

В контроллере есть прерывания от UART. Когда байт был принят или отправлен, возникает прерывание. В процедуре обрабатывающей прерывание и обрабатывается это событие. Либо мы полученное значение ложим в буфер приёма(если принимаем), либо берём из буфера передачи очередной байт и отправляем на передачу(если передаём).
Вот тебе кусок кода для контроллера.

//======================================
// ПРЕРЫВАНИЕ ОТ ПОСЛЕДОВАТЕЛЬНОГО ПОРТА
//
void UART_proc (void) interrupt 4 using 3
{
if ( RI )
{
RI = 0;
input = SBUF;
switch (input)
{
case 0x01: f_receive = 1;
ct_receive = 0;
f_receive_done = 0; break;



case 0x02: if (ct_receive == 2)
f_receive_done = 1;
f_receive = 0; break;


case 0xFF: break;

default: if (f_receive == 1)
{
if (ct_receive ‹ 2) input_dat[ct_receive++] = input;
else
{
f_receive = 0;
}
} break;
}
}
if ( TI )
{
TI = 0;
if (ct_send ‹ size_message) SBUF = out_dat[ct_send++];
}
}
BigMazzi вне форума  
Непрочитано 06.02.2008, 17:01  
dimonbest
Гражданин KAZUS.RU
 
Аватар для dimonbest
 
Регистрация: 30.04.2006
Сообщений: 984
Сказал спасибо: 5
Сказали Спасибо 18 раз(а) в 14 сообщении(ях)
dimonbest на пути к лучшему
По умолчанию

Сообщение от dimonbest
А немного подробней можно? Мы отослали байт в приемник, и он там висит до тех пор пока мы его не считаем?
А если до того как мы его считаем, мы отошлем другой байт, то он заменит предыдущий?
На самом деле я имел ввиду, что мы отослали в передатчик - а он в свою очередь в приемник.
За код спасибо.
Еще такой вопросик: у приемников нет серийных номеров (идентификаторов)?
Если такая ситуация: у меня 1 передатчик, и 5 приемников, и когда я отправлю байт, его получат все приемники? Не получится отправить конкретному приемнику?
dimonbest вне форума  
Непрочитано 06.02.2008, 17:16  
BigMazzi
Прописка
 
Регистрация: 09.06.2007
Сообщений: 96
Сказал спасибо: 1
Сказали Спасибо 1 раз в 1 сообщении
BigMazzi на пути к лучшему
По умолчанию

Вот мы и добрались до протокола

индивидуальных номеров нет ни у приёмника, ни у передатчика, это всё имеет контроллер(компьютер). Именно этот адрес и упоминался в даташите(тот кусок, который ты цитировал)
BigMazzi вне форума  
Непрочитано 06.02.2008, 17:45  
dimonbest
Гражданин KAZUS.RU
 
Аватар для dimonbest
 
Регистрация: 30.04.2006
Сообщений: 984
Сказал спасибо: 5
Сказали Спасибо 18 раз(а) в 14 сообщении(ях)
dimonbest на пути к лучшему
По умолчанию

Понятно
Давайте подведем итоги :
У нас 1 передатчик и 5 приемников например.
Передатчик передает посылку (по определенному протоколу), все приемники получают эту посылку. В посылке содержится адресс устройства, все приемники сравнивают этот адресс, и тот с которым он совпал отвечает. Тобиш он сам становится передатчиком, а бывший передатчик приемником. Остальные 4 приемника тоже примут этот сигнал, но формат у него будет другой, и они его проигнорируют. Я правильно все понял?
dimonbest вне форума  
Непрочитано 06.02.2008, 18:18  
BigMazzi
Прописка
 
Регистрация: 09.06.2007
Сообщений: 96
Сказал спасибо: 1
Сказали Спасибо 1 раз в 1 сообщении
BigMazzi на пути к лучшему
По умолчанию

Всё правильно.
BigMazzi вне форума  
Непрочитано 06.02.2008, 18:38  
dimonbest
Гражданин KAZUS.RU
 
Аватар для dimonbest
 
Регистрация: 30.04.2006
Сообщений: 984
Сказал спасибо: 5
Сказали Спасибо 18 раз(а) в 14 сообщении(ях)
dimonbest на пути к лучшему
По умолчанию

Сообщение от BigMazzi
Всё правильно.
Спасибо огромное за помощь. Теперь осталось купить его и попробывать все на практике.
dimonbest вне форума  
Непрочитано 29.02.2008, 09:06  
m1sh
Прохожий
 
Регистрация: 26.10.2007
Сообщений: 4
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
m1sh на пути к лучшему
По умолчанию

http://www.aerocomm.com/rf_transceiv...ransceiver.htm


вот еще модуль приемо=передатчика - по цене незнаю..
но дальность и скорость - впечатляют...
m1sh вне форума  
Непрочитано 05.03.2008, 13:56  
dimonbest
Гражданин KAZUS.RU
 
Аватар для dimonbest
 
Регистрация: 30.04.2006
Сообщений: 984
Сказал спасибо: 5
Сказали Спасибо 18 раз(а) в 14 сообщении(ях)
dimonbest на пути к лучшему
По умолчанию

Сообщение от m1sh
http://www.aerocomm.com/rf_transceiver_modules/ac4490-1x1_900mhz_rf_transceiver.htm


вот еще модуль приемо=передатчика - по цене незнаю..
но дальность и скорость - впечатляют...
Да, но в Украине их походу вообще нет...
dimonbest вне форума  
Непрочитано 08.04.2008, 16:58  
dimonbest
Гражданин KAZUS.RU
 
Аватар для dimonbest
 
Регистрация: 30.04.2006
Сообщений: 984
Сказал спасибо: 5
Сказали Спасибо 18 раз(а) в 14 сообщении(ях)
dimonbest на пути к лучшему
По умолчанию

BigMazzi, только приобрел модуля...
Подключать к контроллеру напрямую его или через MAX232?
dimonbest вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача данных с ATmega8 на COM порт ПК sergx1300 Микроконтроллеры, АЦП, память и т.д 32 20.04.2010 14:19
AVR USART+прерывания=потеря данных umgah Микроконтроллеры, АЦП, память и т.д 54 10.04.2010 16:22
[Решено] Может кто-то знает, аналоги данных оптопар vovan003 Информация по радиокомпонентам 4 12.03.2010 11:45
Передача данных в UART из текстового файла bombardier_rotax Proteus 6 24.02.2010 20:50
Беспроводная передача данных? maxNTF Автоматика и аппаратура связи 6 29.12.2009 12:20


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


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