Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
17.12.2011, 01:03
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.09.2009
Сообщений: 1,139
Сказал спасибо: 138
Сказали Спасибо 366 раз(а) в 230 сообщении(ях)
|
Как вывести manchester на передатчик?
Есть необходимость вывести на передатчик значение АЦП, нашол в сети эти функции
PHP код:
|
#include "manchester.h"
#include ‹hc11-ide-lib.h›
uint manchester_encode(uchar data)
{
uchar c;
uint r;
for (c=1,r=0;c‹128;c‹‹=1)
{
r ‹‹= 1;
r |= (data & c);
r ‹‹= 1;
r |= !(data & c);
}
return r;
}
uint manchester_decode(uint data)
{
uint r, c, i;
if ((r = ((data & 0xAAAA) ›› 1)) == (!(data & 0x5555)))
{
for (i=0,c=0;i‹8;i++)
{
c ‹‹= 1; r ‹‹= 1;
c |= (r & 1);
r ‹‹= 1;
}
return c;
}
return 0xFF00;
}
|
Но немогу врубится как оно работает, как 8ми битное значение отправить?
Может кто с этим МАНЧЕСТЕРОМ стакивался?
Подскажите пожалуйста
|
|
|
|
17.12.2011, 16:35
|
|
Частый гость
Регистрация: 16.05.2005
Сообщений: 29
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Re: Как вывести manchester на передатчик?
а что, поисковик, скажем ничего не дает?
даже подробные пояснительные записки студентов для курсовых по данному сабжу читывал как то, попав на них через поисковик...
вот даже тут недавно "терли" подобное
__________________
Патриотизм - не болезнь, а состояние души!
|
|
|
Сказали "Спасибо" VaStaNi
|
|
|
18.12.2011, 13:19
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.09.2009
Сообщений: 1,139
Сказал спасибо: 138
Сказали Спасибо 366 раз(а) в 230 сообщении(ях)
|
Re: Как вывести manchester на передатчик?
Сообщение от VaStaNi
|
а что, поисковик, скажем ничего не дает?
даже подробные пояснительные записки студентов для курсовых по данному сабжу читывал как то, попав на них через поисковик...
вот даже тут недавно "терли" подобное
|
Я прекрасно знаю как этот протокол работает, у меня затык с передачей (например АЦП) на какую нибудь ногу.
|
|
|
|
18.12.2011, 21:17
|
|
Вид на жительство
Регистрация: 21.10.2009
Сообщений: 343
Сказал спасибо: 181
Сказали Спасибо 64 раз(а) в 56 сообщении(ях)
|
Re: Как вывести manchester на передатчик?
Проверяете биты от 0 до 15(так как ) и если бит равен 0 выводите на вывод лог.0 , если бит равен 1 на вывод выводите 1. (для уменьшения скорости передачи, делайте задержки)
Последний раз редактировалось CodeNameHawk; 18.12.2011 в 21:25.
|
|
|
Сказали "Спасибо" CodeNameHawk
|
|
|
19.12.2011, 00:50
|
|
Прохожий
Регистрация: 02.09.2004
Сообщений: 3
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
|
Re: Как вывести manchester на передатчик?
for(g=8;g!=0;g--)
{
if(a&0x80)
PORT[имя] |=(1‹‹b);// установить в 1
else
PORT[имя] &=~(1‹‹b);// сбросить в 0
a=a‹‹1;
}
где b разряд порта, имя -какое в вашем мк имеется.
А вопросик.. а UART там у Вас часом имеется?
там вообще все просто...
|
|
|
Сказали "Спасибо" Igor_Lugansk
|
|
|
19.12.2011, 05:29
|
|
Частый гость
Регистрация: 04.12.2011
Адрес: Киев
Сообщений: 37
Сказал спасибо: 91
Сказали Спасибо 12 раз(а) в 9 сообщении(ях)
|
Re: Как вывести manchester на передатчик?
sdsrem:задача состоит из двух частей: 1. по закону Манчестера
превратить каждый бит в два (uchar data to uint r).
2. Организовать выдачу в последовательный канал НЕПРЕРЫВНОГО битового
потока полного пакета-сообщения со скоростью, на которую Вы изготовили
передатчик. ? В чем, собственно, вопрос?
Igor_Lugansk: слово НЕПРЕРЫВНОГО подчеркнуто для Вас -
куда СТАРТ-СТОПы УАРТа девать?
|
|
|
|
19.12.2011, 09:50
|
|
Почётный гражданин KAZUS.RU
Регистрация: 28.02.2010
Сообщений: 2,297
Сказал спасибо: 53
Сказали Спасибо 461 раз(а) в 392 сообщении(ях)
|
Re: Как вывести manchester на передатчик?
блинн...ну если манчестер,о каком аппаратном УАРТ-е может идти речь(хотя можно на логике собрать примочку)?Собственно не понятно- в чём затык?Ну- берётся байт,сдвигается-выдвигается наружу (бит делится пополам для самосинхронизации(фронт-срез, непрерывный поток)).Вот фраза- "...у меня затык с передачей (например АЦП) на какую нибудь ногу. ..." -непонятна точно.
|
|
|
Сказали "Спасибо" OlegNZH
|
|
|
19.12.2011, 21:19
|
|
Прохожий
Регистрация: 15.02.2008
Сообщений: 3
Сказал спасибо: 1
Сказали Спасибо 1 раз в 1 сообщении
|
Re: Как вывести manchester на передатчик?
Объясните что Вы понимаете под Манчестерским передатчиком, так как фазоманипулированный код по манчестерскому стандарту, передаётся в линию связи двух полярным сигналом соответствующей мощности. Вам надо что-то другое. Рассказывайте задачу.
|
|
|
Сказали "Спасибо" CtariBarbos
|
|
|
19.12.2011, 22:28
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.09.2009
Сообщений: 1,139
Сказал спасибо: 138
Сказали Спасибо 366 раз(а) в 230 сообщении(ях)
|
Re: Как вывести manchester на передатчик?
Сообщение от CtariBarbos
|
Объясните что Вы понимаете под Манчестерским передатчиком, так как фазоманипулированный код по манчестерскому стандарту, передаётся в линию связи двух полярным сигналом соответствующей мощности. Вам надо что-то другое. Рассказывайте задачу.
|
Ну скажем так, передатчик с фазавой автоподстройкой (синтезатор).
Приёмник конечно тоже, мало таго в приёмнике дополнительная подстройка на частоту зависимая от выходниго НЧ сигнала.
В прямую SPI или UART ясный перец не покатит.
А как известно у МАНЧЕСТЕРА нет простоев, ну тоисть хоть ноли хоть еденици всё-равно сигнал будет менятся от нула до еденици или на обарот, да и помехо-защищённость повыше.
Порылся по сети много чего нашол, НО в одних случаях толи к частоте привязан толи код непонятный и большой, толи ещё что нибудь.
А тут и код вроде не большой и не привязан к частоте (я имею в виду прерывания).
Вот я и остановился на нём.
Но не могу полноценно его использовать.
|
|
|
|
19.12.2011, 22:55
|
|
Заблокирован
Регистрация: 26.12.2009
Сообщений: 3,124
Сказал спасибо: 116
Сказали Спасибо 867 раз(а) в 614 сообщении(ях)
|
Re: Как вывести manchester на передатчик?
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
Как вывести целиком значение
|
sdsrem |
Микроконтроллеры, АЦП, память и т.д |
11 |
11.01.2011 16:46 |
Как вывести данные из АЦП на индикатор
|
jafarkiller |
Микроконтроллеры, АЦП, память и т.д |
9 |
05.04.2010 06:14 |
как вывести буквы на дисплей
|
andron-kip |
Микроконтроллеры, АЦП, память и т.д |
4 |
27.10.2008 00:28 |
как вывести на LCD данные из буфера?
|
goooblin |
Микроконтроллеры, АЦП, память и т.д |
11 |
02.04.2007 10:01 |
Как вывести из ступора DS1307?
|
Muzicant |
Микроконтроллеры, АЦП, память и т.д |
4 |
09.10.2006 19:28 |
Часовой пояс GMT +4, время: 10:35.
|
|