Отговори на тема  [ 15 мнения ] 
Пращане на byte? 
Автор Съобщение
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Чет Май 19, 2005 12:43 pm
Мнения: 27
Местоположение: София
Мнение Пращане на byte?
Здравейте,
Искам малко помощ как да предам един байт серийно от един на друг пик ( например между две 12-ки) без да използвам някакъв протокал от сорта на I2C, RS232 и др. Просто да прехвърля байта по един проводник. В "CCS C" има разни примери, ама само за протоколите.
За да съм точен ме интересува не само как да го пратя, но и как да го приема.


Последна промяна bigboy на Съб Ное 05, 2005 8:09 pm, променена общо 1 път



Съб Ное 05, 2005 7:33 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30685
Местоположение: София
Мнение 
Е ... то не ползваш протокол няма как да сатне, каквото и д анаравиш то ще е протокол щом предаваш данни. Ползвай софтуерен RS232 ако има време за това, друг вариант по един проводник е 1-wire протокола, ама то с RS голяма разлика нема.
Ако имаш два пина вече си отиваш на SPI ....щото SPI си е точно подаване на клок и дата.
ако искаш максимално бързо предавай го паралелно :), то няма как все някак тия нули и единицки от единиа трябва да отидат до другия.
Естествено има и други методи, но те са сходни с горните, примерно нулата ти е импулс х а единицата импулс 2х ....ама не знам струва ли си да се мориш с такива упражнения в твоя случай, това се ползва ако няма как да синхронизираш с клок и не може да си сигурен че двтата ще имат стабилна честота за да ползваш RS232. Мначестър също е само синхронизиращ се код .....


Съб Ное 05, 2005 8:03 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Сеп 26, 2004 4:11 pm
Мнения: 3750
Местоположение: София
Мнение 
RS232, ako ти е свободен модулът. По-лесно няма.


Съб Ное 05, 2005 8:06 pm
Профил ICQ
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Чет Май 19, 2005 12:43 pm
Мнения: 27
Местоположение: София
Мнение 
Абе момчета, не може да не става, защото съм виждал устройства ( едното предавател, а другото приемник-например за аларма за кола), невиждам разлика дали сигнала ще мине по жица или не, ще то във втория случай само са добавени модулатор и демодулатор(ВРЪЗКАТА Е ЕДНОПОСОЧНА ! КАКЪВ ПРОТОКОЛ ВИЖДАТЕ ТУК! НЯМА И ТАКТОВ СИГНАЛ!


Съб Ное 05, 2005 8:34 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Фев 24, 2005 11:41 pm
Мнения: 1049
Местоположение: Pz
Мнение 
Ами ако някой китаец ти каже нещо на китайски, дали ще го разбереш? Да не говорим, че има и няколко вида китайски. За да го разбереш, трябва да ти го каже на език, който разбираш. Е тва е протокол... без значение дали връзката е еднопосочна или трипосочна :D Протокол винаги има (някакъв).


Съб Ное 05, 2005 8:51 pm
Профил ICQ
Ранг: Новодошъл
Ранг: Новодошъл
Аватар

Регистриран на: Пет Ное 26, 2004 7:35 pm
Мнения: 108
Местоположение: София
Мнение 
Най добре да дефинираш какво за теб означава " протокол ".Лично аз за такива нужди ползвам UART ( всеки контролер го има )


Съб Ное 05, 2005 8:52 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Чет Май 19, 2005 12:43 pm
Мнения: 27
Местоположение: София
Мнение 
Ами, доколкото съм учил, протокол е набор от правила по които се предават данните, за да нестане "каша", но не съм наясно как да го направя в тоя случай, а и това което го гледах беше 12c509- не виждам UART 8O
Аре светнете ме как да стане!!!


Съб Ное 05, 2005 9:11 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30685
Местоположение: София
Мнение 
Ама нали това ти казвам бре, няма начин за предаване на данни без протокол, самия факт че поредаваш данни обуславя протокол, защото трябва д аима правила на предаване. Не ти говоря за пакети или структури на данните, а за най-елементарното, предаване на бит или байт. Значи при паралелно предаване когато вдигаш строб за валидни данни също е протокол , защото имаш праивло кога данните са валидни.
Дистанционните за коли, много често изпозлват манчестър кодиране, изобщо в много RF устройства се изпозлва този тип кодиране.
За твоя случай, RS софтуерен или хардуерен какво е значението имаш :

putc(byte);

и това е, байта ти е предаден, от другата страна ще получиш прекъсване че имаш нови данни

byte=getc();

и другия процесор е получилбайта, какъв е тук проблема не виждам, 12-ка, 15-ка, 23-ка .... и 181-ца да е все тая .....

Друг вариант SPI, предимство имаш такт гълта още един кабел, но пък може да го рзтягаш във времето ак имаш по спешни задачи, ако е софтуерна поддръжката му де, ако е хардуерно няма ниаква разлика, той процесора си го мисли.

spi_write(byte);

от другата страна ...

byte=spi_read();

p.s. та не рабзирам какво те притеснява,нужно ли е да имаш хардуерна поддържка за д аимаш протокол, не не е нужно ..... вземи разучи различните протоколи за да ти светне малко, тук не знам дали е удачно д аседнем да пишем страници обеснения при условие че отдавна ги има.


Съб Ное 05, 2005 9:29 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Чет Май 19, 2005 12:43 pm
Мнения: 27
Местоположение: София
Мнение 
Ами за пръв път ми се налага да правя такова нещо. От това което съм видял за протоколите, е че имат tx, rx, а някои и clock -(най общо казано). Никой не спори, че наборът от правила е задължителен! Ако го напиша както е дадено стандартно " и баба знае". Тогава да питал в реда
#use rs232(baud=9600, float_high, bits=9, xmit=PIN_B0, rcv=PIN_B0)
не мога ли да задам само tx за предавателя и rx за приемника? Искам да направя възмажно най-простия вариант без обратна връзка между двете устройства. И наиститна жиците са кът, повече от една не мога да отпусна. Понеже не съм правил такоз нещо незная дали може да се реализира със стандартен протокол. За мен това е нещо като частен случай. :oops:


Нед Ное 06, 2005 10:29 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30685
Местоположение: София
Мнение 
Кой ти е казал че не можеш, можеш, не съм гледал какво прави CCS-а но мисля че има начин ... щех да кажа можеш да моднеш библиотеката ама ... то нема таква май за тия функции, може обаче да си го напишеш сам ....


Нед Ное 06, 2005 11:05 am
Профил
Ранг: Напреднал
Ранг: Напреднал

Регистриран на: Нед Авг 14, 2005 1:08 pm
Мнения: 433
Местоположение: Казанлък
Мнение 
Мале мале колко много приказки а накрая нищо ето ти линк за IR протокол http://www.ustr.net/infrared/infrared1.shtml а сигурно и някаде по примерите ще намериш нещо за RC5 ili RC6 протокол тъкмо като го направиш ще можеш после и дистанционно да си спретнеш ако ти потрябва някой ден :lol:


Нед Ное 06, 2005 10:04 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30685
Местоположение: София
Мнение 
Ами това на пръв бегъл поглед си е баш манчестър ... ама не е лошо хората д се поразтърсват малко, а не всичко наготово да вземат. А м-у два процесора на фисксирана честота може да мине само с най-обикновенно предаване, стига да не с далче един от друг, на фиксиран интервал от време предава бит 0/1 ....


Нед Ное 06, 2005 10:22 pm
Профил
Ранг: Напреднал
Ранг: Напреднал

Регистриран на: Нед Авг 14, 2005 1:08 pm
Мнения: 433
Местоположение: Казанлък
Мнение 
еее другия нали трябва да знае кога какво приема ами ако загуби интервала по някаква причина ама и нали 12ц509 е там май няма много място за писане :roll:


Пон Ное 07, 2005 2:38 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Окт 07, 2004 1:22 pm
Мнения: 1949
Местоположение: София
Мнение 
bigboy написа:
Абе момчета, не може да не става, защото съм виждал устройства ( едното предавател, а другото приемник-например за аларма за кола), невиждам разлика дали сигнала ще мине по жица или не, ще то във втория случай само са добавени модулатор и демодулатор(ВРЪЗКАТА Е ЕДНОПОСОЧНА ! КАКЪВ ПРОТОКОЛ ВИЖДАТЕ ТУК! НЯМА И ТАКТОВ СИГНАЛ!

30 реда код - аз ли да ги напиша :D
Колелото на ново едва ли ще можеш да откриеш...Kakвото и да напишеш по 1 жица трябва да разгънеш тия 8 бита в сериен вид, т.е. трябва да ги подаваш последователно във времето. Това си е протокол, също както в дистанционните управления за модели, аларми, телевизори и пр. RS232 се пише с 30-ина реда код на ASM, едва ли ще ти отнеме и кой знае колко време, не можах да разбера каква е целта да бягаш от лесното, опитваш се да скриеш данните които ще текат ли? Щото ако е така пусни някакъв нестандартен baudrate или криптирай с просто XOR-ване (1 допълнителна инструкция).


Пон Ное 07, 2005 3:27 am
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Чет Май 19, 2005 12:43 pm
Мнения: 27
Местоположение: София
Мнение 
Цитат:
30 реда код - аз ли да ги напиша
Колелото на ново едва ли ще можеш да откриеш...Kakвото и да напишеш по 1 жица трябва да разгънеш тия 8 бита в сериен вид, т.е. трябва да ги подаваш последователно във времето. Това си е протокол, също както в дистанционните управления за модели, аларми, телевизори и пр. RS232 се пише с 30-ина реда код на ASM, едва ли ще ти отнеме и кой знае колко време, не можах да разбера каква е целта да бягаш от лесното, опитваш се да скриеш данните които ще текат ли? Щото ако е така пусни някакъв нестандартен baudrate или криптирай с просто XOR-ване (1 допълнителна инструкция).


Аре нема нужда! Сам си го написах !!! Само да стане раздумка за протоколи, да не съм пропуснал нещо ново из тях. 8)


Пон Ное 07, 2005 12:22 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 15 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: Google [Bot] и 0 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни