Witam Da sie wykryæ z jaka predkoscia sa nadawane znaki do 8051 przez RS232, tak zeby uK automatycznie ustawi³ sobie taka sama predkosc portu i nawiaza³ poprawne po³aczenia z urz±dzeniem nadaj±cym
pozdrawiam
Witam Da sie wykryæ z jaka predkoscia sa nadawane znaki do 8051 przez RS232, tak zeby uK automatycznie ustawi³ sobie taka sama predkosc portu i nawiaza³ poprawne po³aczenia z urz±dzeniem nadaj±cym
pozdrawiam
Myslê, ¿e to ³atwo zrobiæ. Wysy³asz jaki¶ konkretny znak np U jak to robi± programatory uart dla 89C51RD2 a procesor wie co ma odebraæ. Czyli próbuje odebraæ co¶ co jest z góry ustalone i jak to odbierze to ju¿ wie na jak± prêdko¶æ ma siê ustawiæ.
PC
Da siê. Dallas robi to w oprogramowaniu wbudowanym do uP DS80C400 (i to dzia³a!).
dziadek Ben
A jak to zrobiæ w przypadku innych 8051, które nie posiadaj± takiego mechanizmu?
Tu masz przykład w asm i doca z opisem:
-------- Kris
Wysy³asz z zewn±trz jak±¶ ustalon± sekwencjê z ró¿nymi prêdko¶ciami. W koñcu dla której¶ prêdko¶ci transmisja bêdzie zrozumia³a i wy¶lesz potwierdznie. A w drug± stronê wysy³asz z zewn±trz sekwencjê powiedzmy 10x a procesor cyklicznie zmienia prêdko¶æ i w koñcu za³apie. Przerwanie od uarta dostaniesz niezale¿nie od tego czy prêdko¶ci siê zgadzaj± czy nie.
PC
a moze lepiej wysylac 01010101010.... i zbadac jaki jest czas trwania bitu? :) /jakby byl 1 bit stopu i 1 startu to dac znak (8-bit) 0xAA :)
dokładniej i łatwiej zmierzyć czas trwania 9-ciu bitów, gdy wyśle się 0x00.
w.
no tak :)
/musze sie wyspac :)
Wyslanie 0x00 jest klopotliwe. A jesli przypadkiem odbierzemy inny znak - to na pewno ustawimy zla predkosc ..
J.
kłopotliwe? zależy o jakiej transmisji mówimy. jeśli ASCII to faktycznie, ciężko wysłać NUL. jeśli o własnym protokole, to raczej lepiej zmierzyć szerokość impulsu i odpowiednio ustawić timer niż porównywać znaki odebrane z różnymi prędkościami. dzięki temu można skorzystać z niestandardowych prędkości, nie tylko 9600 i ferajny.
w.
W artykule <ct3asf$f4o$ snipped-for-privacy@news.onet.pl> autorem którego mieni się dziadek Ben, napisano:
Hm, patent sprzed 20 lat z bootloadera 68HC11 ? Co prawda rozpoznawał tylko dwie szybkości, ale zasada ta sama.
(nie to, zebym Ci wlazil w tylek ;) "nic dodac nic ujac". :)
Have something to add? Share your thoughts — no account required.
Ask the community — no account required