|
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
Ericsson Neznanec
Pridružen-a: Sre 28 Jan 2009 3:42 Prispevkov: 1 Aktiv.: 0.01
|
Objavljeno: Ned Feb 15, 2009 11:16 pm Naslov sporočila: |
|
|
Zanima me če je že komu uspelo komuniciranje med dvema AVR-jema z 1wire protokolom?
Poizkušam vzpostaviti povezavo med Atmega32 in Attiny2313. Sicer se nekaj dogaja, a vsekakor ne tisto kar hočem. Pri sledečem programu dobim izpis:
A=2
A=3
A=3
A=3
A=5
A=0
A=0
A=0
A=1
A=1
A=3
A=3
A=0
program na sprejemniku (rezultat pošlje po RS232)
Koda: |
Config 1wire = Portd.2
Dim A As Word , I As Word
Do
A = 1wread(1)
If A < 11 Then
Print "A=" ; A
End If
Loop
End |
program na oddajniku
Koda: |
Config 1wire = Portd.2
Dim A As Word , I As Word
I = 1
Do
1wreset
1wwrite I
Waitms 250
Waitms 250
Loop
End |
Torej izpisovati bi se morale same enice, vendar temu ni tako. Upor iz signalne linije na Vcc je 4K3, sprejemni Uc je mega32 oddajni pa tiny. Ima kdo kakšen nasvet oz. kakšen primer programske kode ki DELUJE. |
|
Nazaj na vrh |
|
|
Peter Član
Pridružen-a: Sre 30 Jun 2004 12:55 Prispevkov: 375 Aktiv.: 1.68 Kraj: Pod krvavcem nekje
|
Objavljeno: Pon Feb 16, 2009 7:57 am Naslov sporočila: |
|
|
Lep pozdrav
Kaj pa ko bi poizkusil s sledečim čipom ki pretvarja serijski protokol v 1-wire
LINK
Peter _________________ Vse se da pokvarit, le če se dovol časa ukvarjaš z njo!!! |
|
Nazaj na vrh |
|
|
f1ghter Neznanec
Pridružen-a: Sre 25 Feb 2009 16:28 Prispevkov: 5 Aktiv.: 0.03 Kraj: Celje
|
Objavljeno: Sre Feb 25, 2009 5:26 pm Naslov sporočila: Prosim za pomoč |
|
|
Prosim, če mi kdo lahko napiše menda,da enostaven program, ker ga sam neznam .
Naloga: Imamo električno zobno ščetko. Na voljo imamo 3 programe, za hitrost delovanja ščetke (rele 1, rele 2, rele 3 ). V prvi vrstici prikazuj izbran program ščetkanja, katerega izberemo z vhodnimi tipkami. V drugi vrstici prikazuj stanje motorja in temperaturo motorja, katero simuliramo z analognim vhodom 1 . |
|
Nazaj na vrh |
|
|
klemen88 Član
Pridružen-a: Tor 01 Jan 2008 17:37 Prispevkov: 747 Aktiv.: 3.76 Kraj: Slovenj Gradec
|
Objavljeno: Sre Feb 25, 2009 5:36 pm Naslov sporočila: |
|
|
Lp
Če bi sam pokazal malo interesa in pokazal kaj si do sedaj naredil za to nalogo ( razen 3-je posti na elektronik.si ) bi ti z veseljem pomago. Vendar, če ti jaz napišem program se iz njega neboš nič naučil.
Učitelj vam nebi dal kar tako naloge in da vam v šoli nebi pokazal kako se bere tipke, kako se nastavijo vhodi/izhodi, pisanje po LCD-ju ali pač? |
|
Nazaj na vrh |
|
|
f1ghter Neznanec
Pridružen-a: Sre 25 Feb 2009 16:28 Prispevkov: 5 Aktiv.: 0.03 Kraj: Celje
|
Objavljeno: Sre Feb 25, 2009 6:17 pm Naslov sporočila: |
|
|
klpzm je napisal/a: |
Lp
Če bi sam pokazal malo interesa in pokazal kaj si do sedaj naredil za to nalogo ( razen 3-je posti na elektronik.si ) bi ti z veseljem pomago. Vendar, če ti jaz napišem program se iz njega neboš nič naučil.
Učitelj vam nebi dal kar tako naloge in da vam v šoli nebi pokazal kako se bere tipke, kako se nastavijo vhodi/izhodi, pisanje po LCD-ju ali pač? |
Učitelj je pokazal, vendar jaz v tem programu nimam pojma. Ta program z lahkoto nardim v Flowcod-u v BASCOMU pa negre :S. |
|
Nazaj na vrh |
|
|
dkone Član
Pridružen-a: Sre 07 Mar 2007 18:53 Prispevkov: 2105 Aktiv.: 10.09 Kraj: Krško
|
Objavljeno: Pet Feb 27, 2009 10:24 am Naslov sporočila: |
|
|
Pozdravljeni!
Rad bi naredil povezavo med dvema uC-jema. Iz odajnega bi pošiljal samo številke iz 0-1023(AD),v master kontroler,kjer bi on preračunal in izpisal na LCD.(Delam VA meter za dvokanalni usmernik,ki mora biti galvansko locen). Tako kot @Ericsson,bi tudi jaz pošiljal po eni liniji. Samo jaz bi pošiljal preko uarta(TX-RX).
Sicer na LCD dobim številke,vendar ne 1023,tako kot v programu. Je mogoče kdo to že preizkusil? Lahko kakšnem primer kode? Predlog...
Povezano imam iz oddajnega TX na sprejemnega RX,ter masa je skupna.
Hvala
V oddajnem:
Koda: |
$crystal = 12000000
$baud = 9600
Dim A1 As word
A1 = 1023
Do
Print A1
Loop |
v sprejemnem pa :
Koda: |
'$sim
$crystal = 12000000
$baud = 9600
Dim A1 As Word
Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.1 , Rs = Portb.0
Config Lcd = 16 * 2
Cls
Do
Waitms 10
A1 = Inkey()
Locate 1 , 1
Lcd A1 ; " "
Loop
|
_________________ Denis |
|
Nazaj na vrh |
|
|
eddie Član
Pridružen-a: Sre 10 Dec 2003 21:02 Prispevkov: 706 Aktiv.: 3.17 Kraj: Severna primorska
|
Objavljeno: Pet Feb 27, 2009 10:48 am Naslov sporočila: |
|
|
Takole na pamet:
Malo pavze med oddajanji nebi škodilo,
Funkcija Inkey pa ti vrne en znak iz uarta!
Funkcija inputbin bi znala biti boljša!
Lp |
|
Nazaj na vrh |
|
|
dkone Član
Pridružen-a: Sre 07 Mar 2007 18:53 Prispevkov: 2105 Aktiv.: 10.09 Kraj: Krško
|
Objavljeno: Pet Feb 27, 2009 1:43 pm Naslov sporočila: |
|
|
eddie je napisal/a: |
Takole na pamet:
Malo pavze med oddajanji nebi škodilo,
Funkcija Inkey pa ti vrne en znak iz uarta!
Funkcija inputbin bi znala biti boljša!
Lp |
Sem uporabil omenjeno funkcijo. No,prišel sem do te faze da prikazujem vsaj napol pravilen podatek,namreč,iz oddajnika pošiljam vrednost 500,v sprejemniku pa se mi izmenjuje vrednost med 500 in 62465. Pri obeh imam hitro na 8mhz in baudrate na 300. Kako pa sedaj odpraviti tole motnjo?
Prilagam še programa
oddajni:
Koda: |
'$sim
$crystal = 8000000
$baud = 300
Dim A1 As Word
A1 = 500
Do
Printbin A1
Waitms 10
Loop
|
sprejemni:
Koda: |
'$sim
$crystal = 8000000
$baud = 300
Dim A1 As Word
Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.1 , Rs = Portb.0
Config Lcd = 16 * 2
Cls
Do
Waitms 100
Inputbin A1
Locate 1 , 1
Lcd A1 ; " "
Loop
|
_________________ Denis |
|
Nazaj na vrh |
|
|
eddie Član
Pridružen-a: Sre 10 Dec 2003 21:02 Prispevkov: 706 Aktiv.: 3.17 Kraj: Severna primorska
|
Objavljeno: Pet Feb 27, 2009 1:51 pm Naslov sporočila: |
|
|
Sprejemno zanko "vrtiš" 10x bolj počasi kot oddajno!
Morda je že tule problem!
EDIT: Preglej malo še
te stvari !
Lp
Nazadnje urejal/a eddie Pet Feb 27, 2009 1:56 pm; skupaj popravljeno 3 krat |
|
Nazaj na vrh |
|
|
dkone Član
Pridružen-a: Sre 07 Mar 2007 18:53 Prispevkov: 2105 Aktiv.: 10.09 Kraj: Krško
|
Objavljeno: Pet Feb 27, 2009 1:53 pm Naslov sporočila: |
|
|
eddie je napisal/a: |
Sprejemno zanko "vrtiš" 10x bolj počasi kot oddajno!
Morda je že tule problem!
Lp |
uff,to je pa čisto moja napaka Pozabil sem spremeniti. Sedaj dela tako kot treba Sedaj grem na drug del. Hvala eddie za rešitev. _________________ Denis |
|
Nazaj na vrh |
|
|
eddie Član
Pridružen-a: Sre 10 Dec 2003 21:02 Prispevkov: 706 Aktiv.: 3.17 Kraj: Severna primorska
|
Objavljeno: Pet Feb 27, 2009 1:59 pm Naslov sporočila: |
|
|
No super!
Sicer so pa vedno take napake najbolj trdovratne.
Lp |
|
Nazaj na vrh |
|
|
galex4 Član
Pridružen-a: Tor 01 Apr 2008 18:27 Prispevkov: 459 Aktiv.: 2.35
|
Objavljeno: Sob Avg 15, 2009 2:34 pm Naslov sporočila: |
|
|
kako je pri bascomu tipka če je pritisnena gre proti masi pomeni, da je stanje 0 ali 1? |
|
Nazaj na vrh |
|
|
program_er Član
Pridružen-a: Sob 08 Mar 2008 13:47 Prispevkov: 2173 Aktiv.: 11.07 Kraj: Maribor (Pohorje)
|
Objavljeno: Sob Avg 15, 2009 3:39 pm Naslov sporočila: |
|
|
galex4 je napisal/a: |
kako je pri bascomu tipka če je pritisnena gre proti masi pomeni, da je stanje 0 ali 1? |
0
0 je nizko stanje, ko vezana proti GND. _________________ Upanje ni del naše projektne strategije.
Member of Trisat - 1. Slovenian satellite running new fault tolerant aerospace processor.
|
|
Nazaj na vrh |
|
|
Srecko Član
Pridružen-a: Čet 25 Dec 2003 21:29 Prispevkov: 1006 Aktiv.: 4.51 Kraj: Okolica Cerkna
|
Objavljeno: Sob Avg 15, 2009 3:40 pm Naslov sporočila: |
|
|
galex4 je napisal/a: |
kako je pri bascomu tipka če je pritisnena gre proti masi pomeni, da je stanje 0 ali 1? |
0
Lp Srečko
Ajej me je @program_er prehitel. _________________ Samouk
Tukaj sem doma |
|
Nazaj na vrh |
|
|
vilko Član
Pridružen-a: Pet 13 Feb 2004 10:26 Prispevkov: 3351 Aktiv.: 15.03 Kraj: Dragomer
|
Objavljeno: Sob Avg 15, 2009 5:27 pm Naslov sporočila: Aref |
|
|
To je takoimenovana referenčna napetost.
Napetost, ki jo v AD pretvorniku pretvarjaš v digitalno obliko mora biti manjša od AREF.
Če imaš recimo 8-bitni AD pretvornik in ti le ta da rezultat 128, (kar je polovica od 255, kar je maksimalno lahko v enem bajtu) to pomeni, da je napetost polovica od AREF. Če je bila AREF 5V, potem je napetost, ki si jo izmeril 2.5V.
Da dobiš torej napetost v Voltih (ali decivoltih) moraš v mikroprocesor vgraditi malo ukazov, ki bodo izmerjeno veličino pretvorili v željeno obliko. V bistvu moraš količino, ki ti jo da AD pretvornik pomnožiti z referenčno napetostjo in deliti z 255 (oziroma 1024, če je AD pretvornik 10 biten). _________________ Prepričan sem, da je inteligentnih bitij v vesolju veliko. A ker so inteligenta, se nam nočejo prikazati. |
|
Nazaj na vrh |
|
|
|
|
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: 73 dni
Powered by phpBB © 2001, 2005 phpBB Group
|