Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

komunikacija PIC16F877A i 16F628A

[es] :: Elektronika :: Mikrokontroleri :: komunikacija PIC16F877A i 16F628A

Strane: 1 2

[ Pregleda: 4370 | Odgovora: 25 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

weldinger
Maksimovic Dusan
Beograd

Član broj: 174328
Poruke: 58
46.151.130.*



+1 Profil

icon komunikacija PIC16F877A i 16F628A08.03.2014. u 21:35 - pre 89 meseci
Naime imam sledeci problem: Imam na jednoj plocici 16F877A-pic1 i 16F628A-pic2, pa vas pitam da li mogu da komuniciraju preko jednog pina (asihronom komunikacijom serijski 8 bita i jedan stop bit) tako sto ce pic1 da daje komande pic2 u PicBasicu.Ja sam pokusao ovako:
PIC1:
DEO KODA:

TRISC=%00000010
PORTC=%00000000
DEFINE DEBUG_REG PORTC
DEFINE DEBUG_BIT 0
DEFINE DEBUG_BAUD 2400
DEFINE DEBUG_MODE 0
DEFINE OSC 4
DEFINE DEBUG_PACING 10
BROJ VAR BYTE
POCETAK:
WHILE PORTC.1=0
DEBUG BROJ
WEND
GOTO POCETAK
END


PIC2:
TRISA=%00000000
TRISB=%00000010
DEFINE OSC 4
DEFINE DEBUG_REG PORTB
DEFINE DEBUG_BIT 1
DEFINE DEBUG_BAUD 2400
DEFINE DEBUG_MODE 0
DEFINE DEBUG_PACING 10
BR VAR BYTE
POC:
DEBUGIN [BR]
WRITE 00,BR
GOTO POC
END

Ovo je samo deo koda ali dovoljno da mi kazete posto nisam jos imao potrebe da radim komunikaciju izmedju PIC-ova a situacija je takva da ne mogu da koristim vise pinova za njihovu komunikaciju nego samo jedan ( Napomena: PIC2 samo prima informacije ne vraca nazad).Da li moze ovakav nacin kao sto sam opisao?

[Ovu poruku je menjao weldinger dana 09.03.2014. u 11:21 GMT+1]
 
Odgovor na temu

mikikg
System administrator
Srbija

Član broj: 3779
Poruke: 5000
*.dynamic.isp.telekom.rs.

Sajt: yu3ma.net


+494 Profil

icon Re: komunikacija PIC16F877A i 16F628A09.03.2014. u 02:50 - pre 89 meseci
U sustini moze, koristis USART modul gde je jedan PIC TX a drugi RX.

Kako to napisati u PicBasic to vec ne znam, slabo stojim za njim …

Isto je pitanje da li ce ti bez obzira ona "suprotna" nozica (RX nozica na prvom i TX nozica na drugom PIC) od USART biti raspoloziva za neke druge potrebe, predpostavljam da nece … ako je to bilo u kontekstu "nedostatka" slobodnih nozica.
Site about Software Defined Radio – SDR
http://yu3ma.net/
https://github.com/yu3ma
On-line LM317 kalkulator
 
Odgovor na temu

goran_68

Član broj: 89012
Poruke: 895
*.dynamic.isp.telekom.rs.



+79 Profil

icon Re: komunikacija PIC16F877A i 16F628A09.03.2014. u 07:55 - pre 89 meseci
Genaralno može to kako si opisao. Problem ćeš verovatno imati ukoliko bi da koristiš hardverski USART port na oba PIC-a a kratak si sa brojem pinova. Kada omogućiš serijski hardverski port (SPEN bit se postavi na 1) onda oba pina RX i TX budu "zauzeta" za tu funkciju što znači da ne možeš da koristiš u druge svrhe onaj drugi koji ti ne treba za serijsku komunikaciju. E sad iskreno ja nisam imao ovakvu situaciju ali sudeći po datasheetu to bi bilo to. Drugo rešenje je da koristiš softverski UART na PIC-u. Primera za PicBasic sigurno ima tako da možeš da razmotriš i tu opciju. Treća varijanta je "uzmi veći PIC" :)
gorankg
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15437
*.dynamic.sbb.rs.

Sajt: mysql.rs


+2342 Profil

icon Re: komunikacija PIC16F877A i 16F628A09.03.2014. u 08:21 - pre 89 meseci
ako ti treba samo jednosmerno i frka je sa brojem pinova softwerski uart ce ti odraditi posao (neka niza brzina), ako ti treba dvosmerno moras da uzmes neki 1wire protokol

trebalo bi da imas i sw uart i 1wire implementaciju u picbasic-u


 
Odgovor na temu

weldinger
Maksimovic Dusan
Beograd

Član broj: 174328
Poruke: 58
46.151.130.*



+1 Profil

icon Re: komunikacija PIC16F877A i 16F628A09.03.2014. u 10:18 - pre 89 meseci
Citat:
goran_68:
Problem ćeš verovatno imati ukoliko bi da koristiš hardverski USART port na oba PIC-a a kratak si sa brojem pinova. Treća varijanta je "uzmi veći PIC" :)


Ne mogu da koristim hardverski USART jer je zauzet.Situacija je takva da mogu da koristim PORTC.0 pa me zanima kako moze da se napise kod za programski USART.Ja sam pokusao, u predhodnom postu, ali ne ide.
 
Odgovor na temu

ZAS011
Uzgajivač šargarepe izakuće
Vanuatu

Član broj: 288510
Poruke: 4420

ICQ: 8713400
Sajt: www.justfuckinggoogleit.c..


+505 Profil

icon Re: komunikacija PIC16F877A i 16F628A09.03.2014. u 17:25 - pre 89 meseci
Za serijsku komunikaciju imaš u PBP-u SEROUT i SERIN naredbe.
Sve je lepo opisano u Help-u
--
Make no mistake between my personality and my attitude.
My personality is who I am.
My attitude depends on who you are.
 
Odgovor na temu

weldinger
Maksimovic Dusan
Beograd

Član broj: 174328
Poruke: 58
46.151.130.*



+1 Profil

icon Re: komunikacija PIC16F877A i 16F628A09.03.2014. u 21:49 - pre 89 meseci
Citat:
ZAS011: Za serijsku komunikaciju imaš u PBP-u SEROUT i SERIN naredbe.
Sve je lepo opisano u Help-u

Probao sam i sa SERIN SEROUT naredbama ovako:

TRISC=%00000010
PORTC=%00000000
INCLUDE "Modedefs.bas"
DEFINE OSC 8
DEFINE DEBUG_PACING 100
BROJ VAR BYTE
BROJ=9
POCETAK:
WHILE PORTC.1=0
SEROUT PORTC.0,T2400,[BROJ]
WEND
GOTO POCETAK
END


PIC2:
PCON=%00001011
TRISA=%00000000
TRISB=%00000010
DEFINE OSC 4
INCLUDE "Modedefs.bas"
BR VAR BYTE
POC:
SERIN PORTB.1,T2400,[BR]
WRITE 00,BR
GOTO POC
END

Ne znam da li sam dobro napisao naredbu Serin i Serout, da li je neko radio sa ovim naredbama.Treba samo da mi decimalnu vrednost BROJ-a iz PIC1 ucita PIC2 u BR i to smeti u memorijsku lokaciju 0.
 
Odgovor na temu

goran_68

Član broj: 89012
Poruke: 895
*.dynamic.isp.telekom.rs.



+79 Profil

icon Re: komunikacija PIC16F877A i 16F628A10.03.2014. u 07:24 - pre 89 meseci
Code:

TRISC=%00000010
PORTC=%00000000
INCLUDE "Modedefs.bas"
DEFINE OSC 8
DEFINE DEBUG_PACING 100
BROJ VAR BYTE
BROJ=9
POCETAK:
WHILE PORTC.1=0
SEROUT PORTC.0,T2400,[BROJ]



!!dodaj ovde neku pauzu!!




WEND
GOTO POCETAK
END



Dodatno,
najverovatnije ti je ovaj PIC2 PIC16F628A. Pinove porta A si definisao kao izlazne a nigde nisi isključio komparatore. Pogledaj registar CMCON.
gorankg
 
Odgovor na temu

weldinger
Maksimovic Dusan
Beograd

Član broj: 174328
Poruke: 58
46.151.130.*



+1 Profil

icon Re: komunikacija PIC16F877A i 16F628A10.03.2014. u 19:47 - pre 89 meseci
Da zaboravio sam CMCON=%00000111 ali opet ista stvar.Moracu da pogledam nekim logic analiser-om jer ovako na "slepo" nema pojma.Nego sam samo hteo da znam da li je code gore napisan ispravno, da anuliram tu stranu.
 
Odgovor na temu

weldinger
Maksimovic Dusan
Beograd

Član broj: 174328
Poruke: 58
46.151.130.*



+1 Profil

icon Re: komunikacija PIC16F877A i 16F628A14.03.2014. u 16:22 - pre 89 meseci
Sada sam postavio da mi PIC2 bude tx a PIC1 rx zato sto imam LCD out na PIC-u 1 pa mogu sve vreme da vidim sta se prima na portu C.0 ali sam ustanovio osciloskopom da PIC 2 (16F628A) uopste ne salje signal.Evo njegovog koda:

INCLUDE "Modedefs.bas"
DEFINE OSC 4
PCON=%00001011
CMCON=%00000111
TRISB=%00000000
TRISA=%00100000
PORTA=0
PORTB=0
BR VAR BYTE
BR=15
pocetak:
SEROUT PORTB.1,T2400,[BR]
PAUSE 5000
GOTO pocetak
END
 
Odgovor na temu

goran_68

Član broj: 89012
Poruke: 895
*.dynamic.isp.telekom.rs.



+79 Profil

icon Re: komunikacija PIC16F877A i 16F628A14.03.2014. u 19:03 - pre 89 meseci
Kako si postavio konfiguracione bitove kod PIC16F628A? Da li koristiš interni oscilator ili spoljašnji?
gorankg
 
Odgovor na temu

weldinger
Maksimovic Dusan
Beograd

Član broj: 174328
Poruke: 58
46.151.130.*



+1 Profil

icon Re: komunikacija PIC16F877A i 16F628A14.03.2014. u 21:22 - pre 89 meseci
interni osc na 4Mhz
Prikačeni fajlovi
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15437
*.com
Via: [es] mailing liste

Sajt: mysql.rs


+2342 Profil

icon Re: komunikacija PIC16F877A i 16F628A14.03.2014. u 21:29 - pre 89 meseci
interni oscilator ? 877A koliko se secam nema interni oscilator (887
ima), a 628A ima neki kvazi "precision +-1%" koji ni u ludilu nije
dovoljno precizan za malo brzu uart komunikaciju, posebno ne za soft
uart tako da ako ces da teras soft uart na njemu ili mu lepo turi 20MHz
kristal ili teraj uart na 300 boda ..

mozes da koristis isti oscilator za oba, to moze da ti spasi po pin
 
Odgovor na temu

weldinger
Maksimovic Dusan
Beograd

Član broj: 174328
Poruke: 58
46.151.130.*



+1 Profil

icon Re: komunikacija PIC16F877A i 16F628A14.03.2014. u 21:33 - pre 89 meseci
16F877A ima spoljni na 8 MHz, a 16F628A sam konfigurisao na njegov interni.Ali problem je sto na Izlaznom pinu PORTB.1 nema nikakvog signala osim konstantnih 5v.
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15437
*.dynamic.sbb.rs.

Sajt: mysql.rs


+2342 Profil

icon Re: komunikacija PIC16F877A i 16F628A14.03.2014. u 21:47 - pre 89 meseci
ja ne koristim basic ali kapiram da "SEROUT PORTB.1,T2400,[BR]" znaci da posalje na b.1 vrednost BR brzino T2400. Moguce da je taj basic dovoljno pametan da zna da nema teorije da posalje tom brzinom na 4mhz taktu... drugo ne znam sta u basic-u znaci [br] ?

u svakom slucaju za test da bi znao sta te zeza uzmes lepo i promenis program u nesto ovako:

Code:

INCLUDE "Modedefs.bas"
DEFINE OSC 4
PCON=%00001011
CMCON=%00000111
TRISB=%00000000
TRISA=%00100000
PORTA=0
PORTB=0

pocetak:
  SEROUT PORTB.1,T300,85
  PAUSE 50
  SEROUT PORTB.1,N300,170
  PAUSE 50
GOTO pocetak
END 


 
Odgovor na temu

goran_68

Član broj: 89012
Poruke: 895
*.dynamic.isp.telekom.rs.



+79 Profil

icon Re: komunikacija PIC16F877A i 16F628A15.03.2014. u 06:55 - pre 89 meseci
Moguće je da ti taj PIC uopšte ne radi. Pokušaj da napišeš program kojim ćeš stanje jednog pina (bilo kog) menjati periodično. Dakle, u petlji ga podigneš na 1 pa nakon neke pauze spustiš na nulu, sledi pauza, pa nazad na vrh petlje. Samo to i ništa više. Podešavanja konfiguracionih bitova zadrži. Zašto te bitove ne podešavaš u kodu?
gorankg
 
Odgovor na temu

weldinger
Maksimovic Dusan
Beograd

Član broj: 174328
Poruke: 58
46.151.130.*



+1 Profil

icon Re: komunikacija PIC16F877A i 16F628A15.03.2014. u 22:02 - pre 89 meseci
Citat:
goran_68: Zašto te bitove ne podešavaš u kodu?
Kako ide code za podesavanje?Resio sam problem, bio je problem do porta b.1 kod 16f628a.Jednostavno ne mogu da ga konfigurisem kao izlazni digital I/O.Nije dovoljno samo registar TRISB nego mora i jos neki.Ako pokusam da konfigurisem OPTION registar ( OPTION=%00000000) gde se ukljucuju interni pull-up otpornici PBP javlja gresku a sa POKE instrukcijom nisam radio.Tako sam probao sa PORTA.0 i sve radi ok, doduse sa 300 bauda ali meni i ne treba vise.Ako neko zna kako se konfigurisu PORTB kao izlazni digital I/O neka napise kod.Hvala svima puno.
 
Odgovor na temu

goran_68

Član broj: 89012
Poruke: 895
*.dynamic.isp.telekom.rs.



+79 Profil

icon Re: komunikacija PIC16F877A i 16F628A16.03.2014. u 07:16 - pre 89 meseci
Pogledaj temu http://www.elitesecurity.org/t453500-TUTORIJAL-PicBasic-Pro-PICF
gorankg
 
Odgovor na temu

ZAS011
Uzgajivač šargarepe izakuće
Vanuatu

Član broj: 288510
Poruke: 4420

ICQ: 8713400
Sajt: www.justfuckinggoogleit.c..


+505 Profil

icon Re: komunikacija PIC16F877A i 16F628A16.03.2014. u 07:27 - pre 89 meseci
Prva i osnovna stvar kod korišćenja mikrokontrolera je posnavanje funkcionisanja istog, a upoznavanje se vrši čitanjem, čitanjem i samo čitanjem datasheet-a za dotični. U datasheet-u je sve lepo napisano. Jeste da ima 150+ strana, ali lako se pronalazi odgovarajuća stranica sa potrebnim objašnjenjima.
Koliko god se dugo bavim PIConjama, kada treba da izkonfigurišem kontroler, uvek mi je otvoren datasheet. Ne vredi pamtiti sve pojedinosti o svakom kontroleru.
--
Make no mistake between my personality and my attitude.
My personality is who I am.
My attitude depends on who you are.
 
Odgovor na temu

weldinger
Maksimovic Dusan
Beograd

Član broj: 174328
Poruke: 58
46.151.130.*



+1 Profil

icon Re: komunikacija PIC16F877A i 16F628A16.03.2014. u 14:22 - pre 89 meseci
Citat:
ZAS011: Prva i osnovna stvar kod korišćenja mikrokontrolera je posnavanje funkcionisanja istog, a upoznavanje se vrši čitanjem, čitanjem i samo čitanjem datasheet-a za dotični. U datasheet-u je sve lepo napisano.

Pa gospodine nisam toliko malouman da ne znam gde mogu da nadjem karakteristike kontrolera kojeg koristim, vec me zanima zasto mi basic javlja gresku pri konfigurisanju registra OPTION jer se sa njim ukljucuju pull-up otpornici kao i registar TRISB kojim se definise I/O porta B.Samo sam pitao da li je neko raspolozen , ko koristi 16F628A ili ga je koristio, da napise deo koda za konfiguraciju portab da bude digital output sa ukljucenim pull-up om, jer meni ne uspeva, a posto vidim da se ljutite necu vise ni pitati.Hvala svima.
 
Odgovor na temu

[es] :: Elektronika :: Mikrokontroleri :: komunikacija PIC16F877A i 16F628A

Strane: 1 2

[ Pregleda: 4370 | Odgovora: 25 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.