| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Пращане на byte? http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=1203 |
Страница 1 от 1 |
| Автор: | bigboy [ Съб Ное 05, 2005 7:33 pm ] |
| Заглавие: | Пращане на byte? |
Здравейте, Искам малко помощ как да предам един байт серийно от един на друг пик ( например между две 12-ки) без да използвам някакъв протокал от сорта на I2C, RS232 и др. Просто да прехвърля байта по един проводник. В "CCS C" има разни примери, ама само за протоколите. За да съм точен ме интересува не само как да го пратя, но и как да го приема. |
|
| Автор: | ToHu [ Съб Ное 05, 2005 8:03 pm ] |
| Заглавие: | |
Е ... то не ползваш протокол няма как да сатне, каквото и д анаравиш то ще е протокол щом предаваш данни. Ползвай софтуерен RS232 ако има време за това, друг вариант по един проводник е 1-wire протокола, ама то с RS голяма разлика нема. Ако имаш два пина вече си отиваш на SPI ....щото SPI си е точно подаване на клок и дата. ако искаш максимално бързо предавай го паралелно Естествено има и други методи, но те са сходни с горните, примерно нулата ти е импулс х а единицата импулс 2х ....ама не знам струва ли си да се мориш с такива упражнения в твоя случай, това се ползва ако няма как да синхронизираш с клок и не може да си сигурен че двтата ще имат стабилна честота за да ползваш RS232. Мначестър също е само синхронизиращ се код ..... |
|
| Автор: | bateAz [ Съб Ное 05, 2005 8:06 pm ] |
| Заглавие: | |
RS232, ako ти е свободен модулът. По-лесно няма. |
|
| Автор: | bigboy [ Съб Ное 05, 2005 8:34 pm ] |
| Заглавие: | |
Абе момчета, не може да не става, защото съм виждал устройства ( едното предавател, а другото приемник-например за аларма за кола), невиждам разлика дали сигнала ще мине по жица или не, ще то във втория случай само са добавени модулатор и демодулатор(ВРЪЗКАТА Е ЕДНОПОСОЧНА ! КАКЪВ ПРОТОКОЛ ВИЖДАТЕ ТУК! НЯМА И ТАКТОВ СИГНАЛ! |
|
| Автор: | Gogo [ Съб Ное 05, 2005 8:51 pm ] |
| Заглавие: | |
Ами ако някой китаец ти каже нещо на китайски, дали ще го разбереш? Да не говорим, че има и няколко вида китайски. За да го разбереш, трябва да ти го каже на език, който разбираш. Е тва е протокол... без значение дали връзката е еднопосочна или трипосочна |
|
| Автор: | vasil [ Съб Ное 05, 2005 8:52 pm ] |
| Заглавие: | |
Най добре да дефинираш какво за теб означава " протокол ".Лично аз за такива нужди ползвам UART ( всеки контролер го има ) |
|
| Автор: | bigboy [ Съб Ное 05, 2005 9:11 pm ] |
| Заглавие: | |
Ами, доколкото съм учил, протокол е набор от правила по които се предават данните, за да нестане "каша", но не съм наясно как да го направя в тоя случай, а и това което го гледах беше 12c509- не виждам UART Аре светнете ме как да стане!!! |
|
| Автор: | ToHu [ Съб Ное 05, 2005 9:29 pm ] |
| Заглавие: | |
Ама нали това ти казвам бре, няма начин за предаване на данни без протокол, самия факт че поредаваш данни обуславя протокол, защото трябва д аима правила на предаване. Не ти говоря за пакети или структури на данните, а за най-елементарното, предаване на бит или байт. Значи при паралелно предаване когато вдигаш строб за валидни данни също е протокол , защото имаш праивло кога данните са валидни. Дистанционните за коли, много често изпозлват манчестър кодиране, изобщо в много RF устройства се изпозлва този тип кодиране. За твоя случай, RS софтуерен или хардуерен какво е значението имаш : putc(byte); и това е, байта ти е предаден, от другата страна ще получиш прекъсване че имаш нови данни byte=getc(); и другия процесор е получилбайта, какъв е тук проблема не виждам, 12-ка, 15-ка, 23-ка .... и 181-ца да е все тая ..... Друг вариант SPI, предимство имаш такт гълта още един кабел, но пък може да го рзтягаш във времето ак имаш по спешни задачи, ако е софтуерна поддръжката му де, ако е хардуерно няма ниаква разлика, той процесора си го мисли. spi_write(byte); от другата страна ... byte=spi_read(); p.s. та не рабзирам какво те притеснява,нужно ли е да имаш хардуерна поддържка за д аимаш протокол, не не е нужно ..... вземи разучи различните протоколи за да ти светне малко, тук не знам дали е удачно д аседнем да пишем страници обеснения при условие че отдавна ги има. |
|
| Автор: | bigboy [ Нед Ное 06, 2005 10:29 am ] |
| Заглавие: | |
Ами за пръв път ми се налага да правя такова нещо. От това което съм видял за протоколите, е че имат tx, rx, а някои и clock -(най общо казано). Никой не спори, че наборът от правила е задължителен! Ако го напиша както е дадено стандартно " и баба знае". Тогава да питал в реда #use rs232(baud=9600, float_high, bits=9, xmit=PIN_B0, rcv=PIN_B0) не мога ли да задам само tx за предавателя и rx за приемника? Искам да направя възмажно най-простия вариант без обратна връзка между двете устройства. И наиститна жиците са кът, повече от една не мога да отпусна. Понеже не съм правил такоз нещо незная дали може да се реализира със стандартен протокол. За мен това е нещо като частен случай. |
|
| Автор: | ToHu [ Нед Ное 06, 2005 11:05 am ] |
| Заглавие: | |
Кой ти е казал че не можеш, можеш, не съм гледал какво прави CCS-а но мисля че има начин ... щех да кажа можеш да моднеш библиотеката ама ... то нема таква май за тия функции, може обаче да си го напишеш сам .... |
|
| Автор: | VSU [ Нед Ное 06, 2005 10:04 pm ] |
| Заглавие: | |
Мале мале колко много приказки а накрая нищо ето ти линк за IR протокол http://www.ustr.net/infrared/infrared1.shtml а сигурно и някаде по примерите ще намериш нещо за RC5 ili RC6 протокол тъкмо като го направиш ще можеш после и дистанционно да си спретнеш ако ти потрябва някой ден |
|
| Автор: | ToHu [ Нед Ное 06, 2005 10:22 pm ] |
| Заглавие: | |
Ами това на пръв бегъл поглед си е баш манчестър ... ама не е лошо хората д се поразтърсват малко, а не всичко наготово да вземат. А м-у два процесора на фисксирана честота може да мине само с най-обикновенно предаване, стига да не с далче един от друг, на фиксиран интервал от време предава бит 0/1 .... |
|
| Автор: | VSU [ Пон Ное 07, 2005 2:38 am ] |
| Заглавие: | |
еее другия нали трябва да знае кога какво приема ами ако загуби интервала по някаква причина ама и нали 12ц509 е там май няма много място за писане |
|
| Автор: | Predator_MF [ Пон Ное 07, 2005 3:27 am ] | |||||||||
| Заглавие: | ||||||||||
30 реда код - аз ли да ги напиша Колелото на ново едва ли ще можеш да откриеш...Kakвото и да напишеш по 1 жица трябва да разгънеш тия 8 бита в сериен вид, т.е. трябва да ги подаваш последователно във времето. Това си е протокол, също както в дистанционните управления за модели, аларми, телевизори и пр. RS232 се пише с 30-ина реда код на ASM, едва ли ще ти отнеме и кой знае колко време, не можах да разбера каква е целта да бягаш от лесното, опитваш се да скриеш данните които ще текат ли? Щото ако е така пусни някакъв нестандартен baudrate или криптирай с просто XOR-ване (1 допълнителна инструкция). |
||||||||||
| Автор: | bigboy [ Пон Ное 07, 2005 12:22 pm ] | |||||||||
| Заглавие: | ||||||||||
Аре нема нужда! Сам си го написах !!! Само да стане раздумка за протоколи, да не съм пропуснал нещо ново из тях. |
||||||||||
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|