www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

pic-vf oddajnik---vf sprejemnik-pic optimizacija

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Microchip PIC
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
sampi
Član
Član



Pridružen-a: Pet 25 Feb 2005 10:29
Prispevkov: 21
Aktiv.: 0.09

PrispevekObjavljeno: Ned Apr 10, 2005 2:32 pm    Naslov sporočila:  pic-vf oddajnik---vf sprejemnik-pic optimizacija Odgovori s citatom

Delno tudi po vaši zaslugi mi je uspelo vzpostaviti komunikacijo med dvema picema s pomočjo VF modulov iz SE. Komunikacija poteka preko USART.

Ko pošljem recomo ASCII "a" mi vklopi rele, ko pa recimo pošljem "b" pa izklopi.

Sedaj pa bi rad optimiziral prenos, saj mi včasih ne prenese pravega znaka. Pa me zanima kako najbolj elegantno rešit ta problem. A bi bilo najbolje recimo 5 krat zaporedoma poslat isti znak (na drugi strani vklapljam neke releje) ali obstaja kakšna boljša rešitev (protokol)?

Lp
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo MSN Messenger - naslov
ma73
Član
Član



Pridružen-a: Ned 04 Jan 2004 21:56
Prispevkov: 49
Aktiv.: 0.21

PrispevekObjavljeno: Ned Apr 10, 2005 6:59 pm    Naslov sporočila:   Odgovori s citatom

S katerim picem, pa si to napravil? Sam sem podobno preko UARTa poskušal, prenašati podatke, sam je bilo to zelo slaba izkušnja.
Lahko morda priložiš kodo?


lp
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
bungee
Član
Član



Pridružen-a: Pon 07 Mar 2005 18:49
Prispevkov: 1479
Aktiv.: 6.24
Kraj: Ljubljana

PrispevekObjavljeno: Ned Apr 10, 2005 8:38 pm    Naslov sporočila:   Odgovori s citatom

Jaz sem razmišljal podobno, nisem pa še preizkusil. Razmišljal sem pa da bi bilo vrjetno bolje če bi stvar delal preko RC5 protokola, ker je ta že namenjen za prenos podatkov preko "nezanesljivih" medijev. Cool
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
sampi
Član
Član



Pridružen-a: Pet 25 Feb 2005 10:29
Prispevkov: 21
Aktiv.: 0.09

PrispevekObjavljeno: Pon Apr 11, 2005 8:53 am    Naslov sporočila:   Odgovori s citatom

Oddajnik sem naredil s 16f628a, katerega lahko priklopiš na 3V, ima pa že vgrajen oscilator, sprejemnik pa sem naredil z 877a.

Trenutno je narejeno v BASIC-u.
Tak da verjetno vam prekaljenim mačkom ne koristi preveč.


'SPREJEMNIK
'---------------------------------------------------------

DEFINE LCD_DREG PORTD
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTD
DEFINE LCD_RSBIT 1
DEFINE LCD_EREG PORTD
DEFINE LCD_EBIT 0
DEFINE LCD_LINES 4
DEFINE LCD_COMMANDUS 7000
DEFINE LCD_DATAUS 200

Pause 500
' izbriši zaslon
Lcdout $fe, 1

TRISA=%11111111
TRISB=%00000000

pir var bit
znak var byte


' Initialize USART
TRISC = %10111111 ' Set TX (PortC.6) to out, rest in
SPBRG = 25 ' Set baud rate to 2400
RCSTA = %10010000 ' Enable serial port and continuous receive
TXSTA = %00100000 ' Enable transmit and asynchronous mode

zanka:
if PORTA.4=0 THEN
HIGH PORTB.1
endif

if PORTA.5=0 THEN
LOW PORTB.1
pir=0
endif




If PIR1.5 = 1 Then
pir=PIR1.5
znak = RCREG


if znak="a" then
HIGH PORTB.0

endif


if znak="b" then
low PORTB.0

endif

endif

LCDOUT $FE, $80

lcdout "Sprejel sem: ", znak
LCDOUT $FE, $C0
lcdout "PIR=", BIN pir, ", ", RCREG



goto zanka


'-----------------------------------------------------------

'ODDAJNIK
'------------------------------------------------------------


znak var byte

TRISB= %10110000


' Inicializacija usart

SPBRG = 25 ' Set baud rate to 2400
RCSTA = %10010000 ' Enable serial port and continuous receive
TXSTA = %00100000 ' Enable transmit and asynchronous mode


zanka:

if PORTB.4=0 THEN
znak="a"
high PORTB.0
call usarttx
endif

if PORTB.5=0 THEN
znak="b"
LOW PORTB.0
call usarttx
endif

goto zanka



usarttx: ' Wait for transmit register empty

If PIR1.4 = 0 Then usarttx


TXREG = znak
znak=0

Return ' Go back to caller
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo MSN Messenger - naslov
ma73
Član
Član



Pridružen-a: Ned 04 Jan 2004 21:56
Prispevkov: 49
Aktiv.: 0.21

PrispevekObjavljeno: Pon Apr 11, 2005 9:51 am    Naslov sporočila:   Odgovori s citatom

to sem našel na elektronu, morda bo kaj koristilo:
http://www.elektro-n.com/forum2/viewtopic.php?t=5075&highlight=uart

S katerim programom, pa prevajaš to kodo zgoraj. Obstaja, kakšen freeware
program?


lp
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
sampi
Član
Član



Pridružen-a: Pet 25 Feb 2005 10:29
Prispevkov: 21
Aktiv.: 0.09

PrispevekObjavljeno: Pon Apr 11, 2005 1:15 pm    Naslov sporočila:   Odgovori s citatom

Za pisanje BASIC programov uporabljam Microcode studio, kateri koristi PicBasic Pro compiler, ki generira ASM kodo, katero pa potem prevede s pomočjo MPLAB ASM.

Tukaj lahko snameš MICROCODE STUDIO free:
http://www.rentron.com/mcstudio/mcstudio.exe

Tukaj pa PicBasic Pro Demo:
http://www.microengineeringlabs.com/downloads/PBP_demo_install.exe

Sam pa imam celotno verzijo, katero lahko dam na filemanager
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo MSN Messenger - naslov
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Microchip PIC Časovni pas GMT + 2 uri, srednjeevropski - poletni č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
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 492 dni


Powered by phpBB © 2001, 2005 phpBB Group