Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   338 / 1319
(#) potyo válasza geri12 hozzászólására (») Nov 13, 2008 /
 
Arra céloztam, hogy forráskód nélkül nem tudunk segíteni.
(#) geri12 válasza potyo hozzászólására (») Nov 13, 2008 /
 
Oké! Elnézést lemaradt...

Küldöm mindkettőt!

(#) watt válasza trudnai hozzászólására (») Nov 13, 2008 /
 
Idézet:
„Remelem watt most nem veszed a fejem”

Isten ments, és ha korábban úgy érezted, hogy illetlen voltam, akkor elnézést kérek, nem ellened irányult, legfeljebb a helyzetre haragudtam! (ja és jókat írtál, mint mindig!)
(#) icserny válasza geri12 hozzászólására (») Nov 13, 2008 /
 
Szerintem a T_Puls_ nem RAM cím, hanem számkonstans (az eredeti programban is "Konstante"). Ha jól látom, valami késleltetés időállandója. Miért írtad át 40-ről 60-ra???
(#) geri12 válasza icserny hozzászólására (») Nov 13, 2008 /
 
icserny!

Köszi az észrevételt! Nagyon alapfokon állok még ezen a téren...

Visszírom 40-re meglátjuk mi lesz.
(#) geri12 hozzászólása Nov 13, 2008 /
 
Átírtam! Nem lett se jobb, se rosszabb. Tehát van egy 64 karakteres Rádiótext szöveg (RDS-es rádióvevőn visszanézve), ahol 4 karakter hiányzik. Egészen pontosan 49-től 52-ig. Szerencse hogy a vége fele van, mert csak hosszabb szövegnél zavaró.
(#) googa hozzászólása Nov 13, 2008 /
 
Sziasztok!

Lenne egy nem pont PIC-es kérdés, de mégis azzal kapcsolatos.
A beléptetőrendszereinket egy úgynevezett LAN-csatolón keresztül illesztjük hálózatokhoz. Ez végülis egy XPORT-al kiegészített kis áramkör. Tehát RS-485 -> LAN. Ezen kis állapotjelző LED-ek vannak, mint egy modemen is például. Villanak a LED-ek, ha van kapcsolat, ha nincs kapcsolat, ha adatot küld és adatot fogad az eszköz.
Hogy kell ennek a LED-es visszajelzésnek a módját/mikéntjét elképzelni?
A kommunikáció meglétére azt tudom elképzelni, hogy elküldök egy kontroll-adatot és a másik oldalról, mivel úgy van programozva visszaküldi az adatot.
Adásnál meg talán úgy lehet, hogy minden egyes küldendő adatcsomag előtt/után megvillantom a LED-et.
Fogadásra ötletem sincs. Gondolom tök rosszak az ekézeléseim. Ja, most ne a LAN-os megoldásról beszéljük, azt csak példaként vetettem fel. Jelenleg a soros RS232/485 dolog érdekelne.
Ha valaki megértette mit zagyváltam itt össze és akad ötlete, annak megköszönöm a segítséget előre is! Üdv!

ui.: Mindenki, ha elküldés után vissza olvassa, amit írt, még van módja kijavítani a helyesírási hibákat. Így tettem én is most, és már is el lehet olvasni.
(#) googa válasza googa hozzászólására (») Nov 13, 2008 /
 
Egy hiba mégis maradt benne: elkézeléseim = elképzeléseim. Fene a pofámat
(#) icserny válasza geri12 hozzászólására (») Nov 13, 2008 /
 
Mégegy számszaki hibát találtam:

Ha 0x10 helyett 0x23-at írsz az alábbi sorokban,
  1. movlw   0x10                           
  2.      movwf      RAM_ADDR



valamint 0x44 helyett 0x64-et az alábbi sorokban,
  1. movlw   0x44                           
  2.      subwf      RAM_ADDR, w


akkor számold ki, hogy mennyivel rövidítetted meg magadat (meg az RDS buffer hosszát)! Szerintem pont néggyel...

Emlékeztetőül:
; 10h to 43h temporary save rds data in byte format for sending out


(#) mrfencer válasza watt hozzászólására (») Nov 13, 2008 /
 
Köszi a magyarázatokat srácok!
Világosabb lett pár dolog! Watt, még nem jöttem rá, hogy mit használnék két bájt öszehasonlítására, de ne mondjatok még semmit, meg kell, hogy leljem a választ.
(#) G-Lex válasza googa hozzászólására (») Nov 13, 2008 /
 
Szia,

nem tudom, hogy jól értem-e amit írtál, de
Kommunikáció megléte:
- Ha van szinkron órajel akkor annak a meglétét lehet ellenőrizni
- Az adó oldalon a TX invertálva van (tehát ha nincs rajta adat, akkor feszültség alatt van)

Adás-fogadás: adás/fogadás esetén feszültség van (vagy földre van húzva) az adatvezeték. egyszerűen rákötsz egy ledet egy korlátozón keresztül. A korlátozó ellenállásod nagyobb legyen mint a megszokott, hogy ne essen nagyot a fesztültség a két egység között.
(#) icserny válasza googa hozzászólására (») Nov 13, 2008 /
 
Idézet:
„Ha valaki megértette mit zagyváltam itt össze”

Lehetek őszinte? Nem sok esélyt hagytál!!!
Pl. hány db led van (amihez az ötlet kellene), mi a funkciója? Mi az "adás" meg a "vétel" funciója?

Ha szimpla soros portra gondolok, és van a forgalom jelzésére egy LED,akkor kézenfekvő, hogy akkor és addig világítson, amíg a port aktív, azaz adatforgalom zajlik rajta.
(#) G-Lex válasza icserny hozzászólására (») Nov 13, 2008 /
 
szerintem ez már a tíízmillijós kérdés
(#) googa válasza G-Lex hozzászólására (») Nov 13, 2008 /
 
Ez így jónak hangzik. Köszönöm!

icserny: Három LED-re gondoltam. Szóval az első azt meséli el világítva, vagy nem világítva, hogy van kapcsolat egy másik ilyen eszközzel.
A második akkor villan fel és annyi időre, amíg adatot fogad.
A harmadik pedig, akkor és annyi időre, amíg adatot küld.
(#) icserny válasza G-Lex hozzászólására (») Nov 13, 2008 /
 
Úgy látszik, ma ilyen kvízműsor megy. Geri-től már meg sem merem kérdezni, hogy mi az az RDS rádió...
(#) googa válasza icserny hozzászólására (») Nov 13, 2008 /
 
Azért kérdezünk, mert Ti okosok vagytok, nekünk meg van egy csomó kérdésünk. Jó, hogy vagytok Nekünk!
(#) proli007 válasza icserny hozzászólására (») Nov 13, 2008 /
 
Hello!

Ha jól emlékszem, a "Radio Data System". Normál adás közben digitálisan elküldi az adó nevét, vagy telefonszámot-üzenetet.

üdv! proli007
(#) geri12 hozzászólása Nov 13, 2008 /
 
Igen "radió data system" Ez egy szabvány. Ha van ilyen rádiód, akkor autómatikusan kiíja a állomás nevét, tel. számát, némelyik állomás pedig a szám címét is, ha igényesebb. -- nem akarok reklámozni...

Átírtam a megadott segítség alapján a számokat, de a 4 karakteren kívül utána az elejéről is hiányzott... Direkt kétszer is megnéztem, de ha "SEND RDS DATA" részre gondolsz az elején, akkor pedig jó helyen tettem.



(#) icserny válasza geri12 hozzászólására (») Nov 14, 2008 /
 
Idézet:
„Átírtam a megadott segítség alapján a számokat, de a 4 karakteren kívül utána az elejéről is hiányzott...”


Mivel én nem mondtam, hogy mit írj át, te pedig nem mondtad meg, hogy mire módosítottad, erre nehéz bármit is mondani.

Én csak arra hívtam fel a figyelmedet, hogy az átírt programban rövidebb területet foglaltál le, mint amennyi az eredeti programban szerepel. Ha abban 10-43 volt a buffer, akkor neked 23-67 kellett volna. Nyilván az utána lefoglalt helyek is feljebb csúsznak, tehát írhatod át az EQU definíciókat. Többek között pont ezért nem érdemes EQU-val definiálni a változókat!

(#) googa válasza icserny hozzászólására (») Nov 14, 2008 /
 
Akkor érdemes valahogy definiálni a változókat? Ha igen, akkor Te mit javasolsz?
(#) watt válasza googa hozzászólására (») Nov 14, 2008 /
 
Persze, hogy "érdemes valahogy definiálni a változókat"! (ez megint milyen kérdés? Rohansz valahová?)
a CBLOCK -al kell definiálni, az automatikosan a megadott kezdő értéktől fogolal ad címeket a beírt változónevekhez.

  1. CBLOCK     RAM-cím (pl. 0x020)
  2.  
  3.    nevek...
  4.  
  5.    ENDC
(#) icserny válasza watt hozzászólására (») Nov 14, 2008 /
 
Vagy pedig udata, és linker script használata (lásd TRudnai korábbi ismertetőjét a topikban!):
  1. vos_regs udata
  2. vos_msgptr      res 1    
  3. vos_putptr      res 1
  4. vtmr_times          res 2
  5. vtmr_countms        res 2
(#) icserny válasza icserny hozzászólására (») Nov 14, 2008 /
 
Konkrétan erre a hozzászólásra gondoltam...
(#) geri12 válasza icserny hozzászólására (») Nov 14, 2008 /
 
Hát nagyon hülye lehetek még ebben a témában...

Átírtam 23-67-ig és feljebb állítottam a többi értéket is. Evvel csak azt tudtam elérni hogy a 4 hiányzó karakter 1-el visszacsuszott. Eddig 49-52 nem volt meg, most 48-51-ig.

Inkább nem beszélnék. Felraktam a változtatást. Ha mégis hülyeséget csináltam, akkor csak finoman kiosztani...

(#) watt válasza geri12 hozzászólására (») Nov 14, 2008 /
 
  1. movlw   0x64                            ; Zadnja RAM Adresa koja ce biti iscitana/poslana
  2.                         subwf   RAM_ADDR, w
  3.                         btfss   STATUS, Z
  4.                         goto    _SEND_RDS

E szerint 100Bájt RAM terület kerül lekezelésre! Te meg csak 68Bájtnyit foglaltál le!
  1. ; 23h to 67h temporary save rds data in byte format for sending out
(#) icserny válasza geri12 hozzászólására (») Nov 14, 2008 /
 
  1. movlw   0x64                            ; Zadnja RAM Adresa koja ce biti iscitana/poslana


Ezt a sort már megkritizáltam, mégsem növelted meg a felső határt 0x68-ra!
(#) potyo válasza watt hozzászólására (») Nov 14, 2008 /
 
Ha gondoljátok, én lefordítom a kommenteket magyarra
(#) icserny válasza watt hozzászólására (») Nov 14, 2008 /
 
Nyugi, 23-ról indul a ciklus! (már amennyit én kivettem a program működéséből...). Ne zavarjon meg a diferenciálni pocitace! A lefoglalás szerintem már jó, de itt, a kiírásnál nem megy el a buffer végéig (nem 64, hanem 68 a buffer utáni első rekesz).
(#) geri12 hozzászólása Nov 14, 2008 /
 
Igaz! Át akartam írni 68-ra, de kapkodtam és elfelejtettem...

Viszont átrás után is a próbléma úgyanaz.

(#) icserny válasza potyo hozzászólására (») Nov 14, 2008 /
 
Köszi, de ne fáradj vele, egyelőre csak a számokat próbáljuk rendberakni.
Következő: »»   338 / 1319
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem