Kazalo po Svet elektronike forumu Svet elektronike
Revija za prave elektronike
 
AlbumAlbum   Pomoč pogostih vprašanjPomoč pogostih vprašanj   IščiIšči   Seznam članovSeznam članov   Skupine uporabnikovSkupine uporabnikov   Registriraj seRegistriraj se 
 Tvoj profilTvoj profil   Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil   PrijavaPrijava 

Povezava med vezji

 
Objavi novo temo   Odgovori na to temo    Kazalo po Svet elektronike forumu -> Digitalna elektronika
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
besoft
Profesionalec


Pridružen/-a: Čet Maj 2010 10:26
Prispevkov: 98

PrispevekObjavljeno: Ned Apr 29, 2012 8:42 am    Naslov sporočila: Povezava med vezji Odgovori s citatom

Imam še eno vprašanje. Rad bi povezal dva ATmega čipa med sabo z rs232 na TTL nivoju. Komunikacija je enosmerna. Master ima hardwerski UART, slave pa bo mel softwerski UART. vezju sta narazen cca 5cm.
Na kaj morem biti pozoren ? je to sploh uporabna povezava..namreš na slave strani mi je zmanjkalo harverskih UART-ov..

hvala
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
Jure
Urednik


Pridružen/-a: Pon Jan 2004 12:51
Prispevkov: 2132
Kraj: Ljubljana

PrispevekObjavljeno: Ned Apr 29, 2012 5:06 pm    Naslov sporočila: Odgovori s citatom

Hoj,

ne potrebuješ MAX232 čipa, poveži mikrokontrolerja direktno. 5 cm ni takšna razdalja, bi imel kakšne posebne težave. Softverski UART lepo deluje torej veselo na delo.

Lp
Jure
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
vilko
Profesionalec


Pridružen/-a: Pon Jan 2004 11:54
Prispevkov: 807
Kraj: Ljubljana

PrispevekObjavljeno: Sre Maj 02, 2012 7:51 am    Naslov sporočila: Odgovori s citatom

Besoft, ravnokar sem ti na tvojo željo poslal materijal, kjer je opisana rs485 povezava.
Če gre za samo dva mikroprocesorja in na tako kratki razdalji, ne potrebuješ nobenega čipa, samo povežeš rx enega čipa z tx drugega, ostalo vse velja.
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
besoft
Profesionalec


Pridružen/-a: Čet Maj 2010 10:26
Prispevkov: 98

PrispevekObjavljeno: Sre Maj 02, 2012 9:55 am    Naslov sporočila: Odgovori s citatom

Vilko ..hvala, z vašo pomočjo problem rešen..
Gre za več naprav..v mojem primeru 10. Vsi delajo ok..edino, če vključim display v glavni program v loop zanko na sprejemni strani, potem se mu malo pomešajajo stringi..morem razvozlati zakaj.
menim pa, da vse poteka prehitro in ga display ovira..
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
vilko
Profesionalec


Pridružen/-a: Pon Jan 2004 11:54
Prispevkov: 807
Kraj: Ljubljana

PrispevekObjavljeno: Sre Maj 02, 2012 9:58 am    Naslov sporočila: Odgovori s citatom

besoft je napisal/a:
Vilko ..hvala, z vašo pomočjo problem rešen..
Gre za več naprav..v mojem primeru 10. Vsi delajo ok..edino, če vključim display v glavni program v loop zanko na sprejemni strani, potem se mu malo pomešajajo stringi..morem razvozlati zakaj.
menim pa, da vse poteka prehitro in ga display ovira..


Če gre za več naprav, potem je potrebno uporabiti čipe MAX485 ali LTC485 (cenejši) in programirati tako, kot v seminarskih materijalih. Potem ne bo izgubljal podatkov, četudi so zraven priključeni displeji in podobno..
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
besoft
Profesionalec


Pridružen/-a: Čet Maj 2010 10:26
Prispevkov: 98

PrispevekObjavljeno: Sre Maj 02, 2012 10:30 am    Naslov sporočila: Odgovori s citatom

sem uporabil čipe..tudi deluje vse..razen podatkov na displeyu ne prikazuje ok..je pa res , da displaya v tej aplikacije ne rabim..
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
protoncek
Profesionalec


Pridružen/-a: Sob Maj 2007 9:25
Prispevkov: 303
Kraj: Mengeš

PrispevekObjavljeno: Sob Maj 19, 2012 8:14 pm    Naslov sporočila: Odgovori s citatom

podoben primer: povezati dve megi med seboj preko 433MHz RF modulov. Komunikacija bo enosmerna. Za zdaj sem z ukazom Print na oddajnem delu uspešno oddajal znake, s tem da jih je sprejemni del sprejemal samo, če sem imel programiran softverski UART, medtem ko HW UART ne sprejema nič. Gre se mi predvsem da bi uporabil buffered uart, torej da bi AVR sprejel znak in ga dal v buffer, jaz pa bi ga prebral ko pride čas za to - je to tako ali sem narobe razumel? in zakaj mi HW uart ne bere , SW pa brez problema? obe megi sem zaenkrat povezal z žičko (čeprav SW UART dela tudi preko RF modulov).
uporabil sem CONFIG SERIALOUT ter PRINT na oddajni strani ter CONFIG SERIALIN ter INPUT (tudi WAITKEY) na sprejemni.
S tem se ukvarjam prvič in mi ni čisto jasno.

_________________
http://www.protoncek.com
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
vilko
Profesionalec


Pridružen/-a: Pon Jan 2004 11:54
Prispevkov: 807
Kraj: Ljubljana

PrispevekObjavljeno: Ned Maj 20, 2012 7:17 am    Naslov sporočila: Odgovori s citatom

Protonček,

Nima izkušenj z rfm komunikacijo, a vseeno
pripni tisti del programa, ki se ukvarja z sprejemanjem in sicer dvakrat, tistega z swuart in tistega z hwuart.
Katere rfm module imaš?
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
protoncek
Profesionalec


Pridružen/-a: Sob Maj 2007 9:25
Prispevkov: 303
Kraj: Mengeš

PrispevekObjavljeno: Ned Maj 20, 2012 11:04 am    Naslov sporočila: Odgovori s citatom

Pozdrav, Vilko!

RF modula imam od SE, ampak pustimo to, ker sem zaenkrat obe megi povezal z žičko.
Na kratko, kaj hočem: oddajni del bo gledal neke vhode in glede na njihovo stanje sporočal sprejemniku v številčni obliki : npr. 1 bo normalno stanje, 2 bo en vhod odprt, 3 bo drug vhod odprt, 4 oba vhoda odprta...itd. Torej želim prenašati zgolj števila, ne znake (mogoče je tukaj problem..)
Program sem naredil tako, da prikazuje SW in HW del obenem. >TX del iz oddajne mege sem povezal obenem na port C.5 in na RX pin sprejemne mege.
Spremenljivka N je samo zato da vem, da program teče Wink
Na HW delu mi sicer prikazuje neke številke, ampak čisto naključne, medtem ko mi SW del pravilno kaže od 0 do 255 z inkrementom 1.

Koda:

$regfile = "m16def.dat"
$crystal = 8000000
$baud = 2400


Config Lcd = 20x4
Config Lcdpin = Pin , Db4 = Pind.4 , Db5 = Pind.5 , Db6 = Pind.6 , Db7 = Pind.7 , E = Pind.3 , Rs = Pind.2
Cursor Off Noblink
Cls

Open "comc.5:2400,8,n,1" For Input As #2
Config Serialin = Buffered , Size = 200

Enable Interrupts

Dim Vhod As Byte , Vhod2 As Byte , N As Byte


Zacetek:
Input #2 , Vhod2
Locate 1 , 1
Lcd "Sprejem na #2:" ; Vhod2;"   "

If Ischarwaiting() = 1 Then
   Vhod = Inkey()
   Locate 2 , 1
   Lcd "Sprejem na HW:" ; Vhod ; "   "
End If
Locate 3 , 1
Lcd N
Incr N
Waitms 200
Goto Zacetek



EDIT: ugotovil sem sledeče: izgleda da na HW UART-u zadeva prenaša ZNAKE, na SW UART-u pa številke - namreč "dekodiral" sem neznane številke, sprejete na HW delu in so čisto lepo številke v obliki znaka: npr. 123 je poslano v treh delih :1, 2 in 3 in seveda enako sprejeto. Potem je tudi jasno, zakaj na koncu vedno sledi 13 in 10.
Kot kaže sem tudi ugotovil, kje ga lomim: ukaz INPUT vrne ASCII string. Uspelo pa mi je s sicer zelo "čudno" obliko: Inkey , znak...zanimivo da deluje kljub temu da je tam samo vejica...
obstaja kak ukaz, ki vrne direktno vrednost in pri tem NE čaka da pride znak?

_________________
http://www.protoncek.com
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
vilko
Profesionalec


Pridružen/-a: Pon Jan 2004 11:54
Prispevkov: 807
Kraj: Ljubljana

PrispevekObjavljeno: Ned Maj 20, 2012 6:53 pm    Naslov sporočila: Odgovori s citatom

Vedno, kadar dobim vprašanje, pa ne vem odgovora, se zavem, kako malo vem.
Nikoli nisem uporabljal za branje ukazov input, ischarwaiting in waitkey in podobno. Vedno sem bral v serial interrupt rutini, tako ne morem avtoritativno odgovoriti na tvoj problem.

Opažam pa, da je v helpu v primeru za ischarwaitng

Koda:
Do
  A = Ischarwaiting()
  If A = 1 Then                                           'we got something
     A = Waitkey()                                         'get it
    Print "ASCII code " ; A ; " from serial"
  End If
Loop Until A = 27         


znak prebran z ukazom Waitkey in ne z Inkey kot si to napisal ti.


poizkusi tako!
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
protoncek
Profesionalec


Pridružen/-a: Sob Maj 2007 9:25
Prispevkov: 303
Kraj: Mengeš

PrispevekObjavljeno: Ned Maj 20, 2012 7:13 pm    Naslov sporočila: Odgovori s citatom

No, zaenkrat sem, vsaj principalno, zadevo usposobil. Kot kaže ukaz INPUT čaka na nekaj, medtem ko INKEY ne čaka, WAITKEY pa spet čaka. Če prav vidim je razlika med INPUT in INKEY(ali waitkey) v tem da INPUT vrne ASCII znak, INKEY ter WAITKEY pa direktno številko.
Hotel sem doseči to da ne bi izgubil kakšnega znaka, zato bi uporabil buffer, ampak, kot praviš, obstaja varianta s prekinitvijo in ne vem, če ne bom raje to uporabil. Namreč - buffer se prepiše, če ga ne prebereš in oddajnik kar naprej pošilja podatke, medtem ko prekinitev prebere takoj, ko pride nek signal na RX.
Sploh pa, kot sem sedaj gledal na SE trgovini, obstaja možnost da bom moral uporabiti SPI komunikacijo ( spet jovo nanovo ...). Namreč - nameravam uporabiti dve frekvenci: 433MHz in 868MHz, ISTI podatki pa bi šli po obeh - tako bom izničil možnost motenj in/ali sabotaž (gre za nekakšno razširitev alarmnega sistema). Namreč: če prav vidim ima trgovina SE module na 868MHz samo take, ki imajo SPI komunikacijo in so nastavljivi. No, mogoče je to plus, saj bi se morda dalo ISTI sprejemnik uporabiti za obe oddajni frekvenci...mogoče bo Jure vedel, če ta modul (RFM42/31) lahko skače gor/dol po obeh frekvencah...
Vilko, hvala za pomoč.

_________________
http://www.protoncek.com
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo    Kazalo po Svet elektronike forumu -> Digitalna elektronika Časovni pas GMT + 1 ura, srednjeevropski - zimski čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
You cannot attach files in this forum
You cannot download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group