Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   204 / 1320
(#) Thowra hozzászólása Máj 11, 2008 /
 
Üdv mindenkinek!
Szeretném fejlesztésnél 'kímálni' a pic lábait így gondoltam felteszek egy pic szimulátort és előbb azon tesztelem le a progikat. A PIC Simulator IDE t javasolták, feltettem és tetszik, mert elég áttekinthető de eddig nem hajlandó semmit csinálni. A program telhes verziós. A HEX fájlt megnyitja, (egy sima ledvillogtató), beteszek egy 8 ledes sort a progiba, start és semmi nem történik a ledekkel, a progi fut :S A pic típusát megadtam. Ha beleégetem egy pic be a progit akkor az működik. Kell esetleg valamit konfigurálni még a progiba?
Előre is köszönöm!
(#) trudnai válasza foxpaw hozzászólására (») Máj 11, 2008 /
 
Szia foxpaw,

Elfelejtetted csatolni a kapcsolasi rajzot es a forrast - anelkul neheen tudunk segiteni ol rontottad el.

Amugy ha MCLR ki van kapcsolva a config fuse-oknal akkor hiaba nyomogatod a gombot... Ha pedig be van kapcsolva es nem resetalidok a pic akkor ott valami elektromosan nagyon nem stimmel. Vdd-n mennyit mersz? Kulso kvartzot hasznalsz? Tapod mennyire van megszurve? Hidegito kondi ott van?

Na jo, majd kuldod a kapcs. rajzot es meglatjuk.
(#) foxpaw válasza trudnai hozzászólására (») Máj 11, 2008 /
 
Üdv!

Most éppen működik már fél órája.

Forrásilag barmoltam el, mert a TRISD állítása előtt le kellett nullázni a PORTD-t, illetve hülyeséget írtam ide, mert először egyszerűen csak felülírtam az első 0x0020 törlést egy NOP-al, aztán rájöttem, hogy ez már az első adatbyte és ezzel tettem inkonzisztenssé az egészet - a byte használva volt, de nem volt előtte inicializálva. (Amatőr hiba.) Ha meg nem írtam felül NOP-al (még a manuál olvasása előtt) akkor meg a programozó kavart be nyílván valami hülyeséggel (gondolom nem véletlenül NOP-nak KELL lennie az első bytenak.)

Most működik. Reset-re és táp ki/be kapcsolásra is reagál.

A kapcsolás amúgy biztos jó volt, csak egy 5 fesz. regulátor van benne, egy adag szűrökondi és ellanállás, meg a két led + a rezonátor. (Nyugodj meg, kimértem használat előtt mindenhol. 5.01 Voltot mértem, szerintem ez bőven elfogadható).

(Nem az itt található breadbordos kapcsolással játszadoztam, mert sajnos breadbordom nincs. Tudom, hogy alap lenne, de nincs. De célom venni egyet végre.)

Azért köszönöm!
(#) ledesgyerek válasza trudnai hozzászólására (») Máj 11, 2008 /
 
Nos azért kérdeztem hogy hogy lehet asm-ből hex fájlt csinálni mert az asm fordító használata nincs leírva! Nem tudom hogy kell beállítani és sajnos nem értek angolul.

A másik amit nem értek az pedig a megírt program lefordítása.
Topi cikkében csak annyi van leírva hogy fordítsuk le!
Én megpróbáltam lefordítani egy asm ledvillogtató fájt hex-re de nem működik. Abba kérném valaki segítségét hogy amikor megnyomom az exportálás gombot a file menüben akkor az ott megjelenő kis ablakot hogy kell beállítani.
(#) foxpaw válasza trudnai hozzászólására (») Máj 11, 2008 /
 
De az azért érdekelne, hogy miért nem lehet törölni az adatmemóriát a programozóból...

Persze most már rájöttem, hogy felesleges, hiszen úgyis KELL inicializálni kódból, de akkor miért írja a manuál azt, hogy az is törlődik? Ez is valami PicStart Plus + 16F877 átok?
(#) lidi válasza foxpaw hozzászólására (») Máj 11, 2008 /
 
Az adatmemoria sram, tehát tápfesz nélkül elveszti a tartalmát.
(#) trudnai válasza foxpaw hozzászólására (») Máj 11, 2008 /
 
Most mar vegkepp elveszitettem a fonalat mit is csinalsz? Ciklusban az egesz cimezheto memoria tarat kinullazod? Beleertve a specialis funkcio regszitereket is? Ugy erzem fogalmakat keversz, mert "NOP-okkal irod felul az adatyte-od".

NOP azert kell a program memoria 0-s cimere, mert - legalabbis nehany PIC - a debuggolaskor nem tud megallni a 0-s cimen, csak a rakovetkezon. Ha a 0-s cimen egy GOTO-val indit, akkor a debugger nem fogta meg... ugymond elszabadul a program vegrehajtasa. Ha nem debuggolod az aramkorodben amit irtal akkor nem kell a NOP.
(#) trudnai válasza foxpaw hozzászólására (») Máj 11, 2008 /
 
Idézet:
„úgyis KELL inicializálni kódból, de akkor miért írja a manuál azt, hogy az is törlődik?”


Remelem nem igy irja az a manual, hogy torlodik, mert ez igy nem igaz. A memoria tartalma elvesz kikapcsolaskor, de bekapcsolaskor az nem torlodik (ertsd nem nullazodik). Ezert kell NEKED inicializalnod.

Azt is erdemes szem elott tartani, hogy ha reset all elo, akkor a memoria tartalom NEM veszk el. Ezt ki is lehet hasznalni es lehet folytatni a munkat ott ahol abbahagytad, vagy lehet mindent elolrol is kezdeni - az inicializalassal.
(#) trudnai válasza ledesgyerek hozzászólására (») Máj 11, 2008 /
 
Nem kell exportalnod, az megcsinalja magatol ha koveted azt amit Topi leirt - azt a build gombocskat valoban elfelejtette bekarikazni viszont .

Ha nezed a 12. oldalt, a "Chechsum" melletti gombrol van szo. Ha fole viszed az egeret azt fogja kiirni, hogy "build". Ugy is csinalhatod, hogy megnyomod a Ctrl+F10 gombokat... vagy Project menuben a Build menupontot kivalasztod. A HEX file ott lesz az ASM file-od mellett...
(#) trudnai válasza Thowra hozzászólására (») Máj 11, 2008 /
 
Thowra,

CCSC-vel forditasz, Oshon szimutaort hasznalsz, hogy oszinte legyek fogalmam sincs mi tortenik. Ha legalabb kuldenel egy screen shotot azon a ponton, mikor epp tulleptel a led kigyujtasanak utasitasan, talan latnank a SFR-eket a kepernyon vagy valami, de igy eleg nehez megmondani mi a gond - ugy is, de legalabb kiboknenk, hogy hekas, a TRIS rosszul all pl..
(#) Thowra válasza trudnai hozzászólására (») Máj 11, 2008 /
 
A szimulátorban a ledek és más eszközök meg se mozdulnal. A hiba nem a programomban van, beégetve jó. A saját példáival is ezt csinálja, vagyis hiába nyitom meg, választom ki az egyközt hozzá (ledsor, lcd...) semmi életjel, leszámítva, hogy a bináris értékek és egyéb dolgok 'mocorognak'
Azt még értaném, hogy a saját esetleg hibás progimat nem képes kezelni de a sajátját?
Telepítés után kell valamit állítani a progiban? Az options menü re gondolok pl.
(#) bladika hozzászólása Máj 11, 2008 /
 
Sziasztok ismét a segítségetekre lenne szükségem!

A gondom (megpróbálom érthetően) az lenne, hogy PIC18f458 ra fejlesztek egy eszközt ami kezeli a soros portját, plussz még 2 szoftveres soros portot! A továbbiakban csak a szoftveres soros portokról lesz szó. Az egyik port INT0 án veszi az adatot amit magas szintű megszakításként kezel míg a másikat INT1en alacsonyszintű megszakításként! Na most mikor kifelé küldök adatot akkor letíltom az összes megszakítást
(bcf INTCON,GIEH ;Globalis IT tiltása) ez ugye tiltja a magas és az alacsony megszakításokat egyaránt, majd mikor a küldés végetért újra engedéjezem. De ennek ellenére a küldésbe mégis bezavar INT1 megszakítása ahogy arra adat érkezik! Remélem letudtam írni mi is a gond. Tudna valaki nekem segíteni?
(#) Csaplar hozzászólása Máj 11, 2008 /
 
Sziasztok!

Egy korábban feltett kérdésemre tudna valaki válaszolni?

Rajzoltam egy kapcsolást, amibe bekerült egy mtp-k4 -es valamint rs232 és 485.
Azt szeretném kérdezni, hogy nem jelent-e problémát, hogy mindegyik ugyanarra a lábára kapcsolódik a pic-nek (RC6, RC7 - RX, TX) a soros kommunikáció miatt?
Ha egy időben nem akarok mondjuk kártyát leolvasni és rs232-ön adatot küldeni, akkor nem baj, ugye?
Vagy a kapcsolási rajzba kell ilyenkor valami spéci dolog?

Köszi szépen!
(#) bladika válasza Csaplar hozzászólására (») Máj 11, 2008 /
 
Szerintem! 1 kimenet mehet két bemenetre,de fordítva már nem! Gondolok itt arra hogy az egyik kimenet pl nyugalmi H szinten tartja a vonalat míg a másik L szintre akarja kényszeríteni akkor végül abból milyen szint lesz a volnalon?! Plussz nem vágja ez tönkre a kimeneteket mikor az egyiken minusz valahány volt, a másikon meg plussz valahány volt van! És milyen áramok indulnak meg? Persze nem tudom van e ez ellen valami védelem benne!
(#) bladika válasza Csaplar hozzászólására (») Máj 11, 2008 /
 
Viszont valmi kis áremkörrel megoldható! Most így hirtelen valami diódás dolog jut eszembe!
(#) bladika válasza Csaplar hozzászólására (») Máj 11, 2008 /
 
Talán így?

RxTx.JPG
    
(#) googa hozzászólása Máj 11, 2008 /
 
Sziasztok!

Volt már valamelyőtöknek olyan sikersztorija, hogy egy adott MP3 lejátszót ellátott mondjuk egy nagyobb esetleg, 2x16 karakteres LCD kijelzővel, vagy hasonló? Ha lenne valahol ilyesmiről leírás, akkor lemajmolnám és megépíteném! Köszike! g.
(#) bladika válasza Csaplar hozzászólására (») Máj 11, 2008 /
 
ja plussz annyit hogy ez csak a jelszint átalakítás után használható ahol már 0-5V al dolgozol
(#) trudnai válasza Thowra hozzászólására (») Máj 11, 2008 /
 
Nekem mukodik - most csak azert is letoltottem, hogy kiprobaljam

Gondolom a LED-ekhez hozza rendelted a megfelelo portokat? Nem az van, hogy baromi lassu a szimulacio, es nem jut meg el neked odaig amikor felkapcsolgatja a ledeket? A Simulation melletti menupont a Rate, ott allitsd be, hogy Ultimate. Tobb otletem nem nagyon van, mert nincs itt az a HEX file amivel Te dolgozol.
(#) Csaplar válasza bladika hozzászólására (») Máj 11, 2008 /
 
Köszi szépen a tippet! A 0-5 V az meg van, de a diódákat alapból nem kötöttem be.
(#) bladika válasza Csaplar hozzászólására (») Máj 11, 2008 /
 
azért ezt kipróbálhatnád valami próba panelon elötte mert ugye úgy kezdtem hogy SZERINTEM!! szóval mielött panelt csinálsz azért próbáld ki vagy legalább valami szimuláció! 1ébként szívesen!
(#) foxpaw válasza trudnai hozzászólására (») Máj 11, 2008 /
 
Dehogy mindent nullázok. A lényeg, hogy azt a területet nullázom, amit használni szeretnék később.

Amúgy a Picstart Plus manuálja B.4.2 (Device-Specific Limitations) pontja írja azt, hogy PIC16F87X/PIC16F87XA programozásakor az első byteon NOP-nak kell lennie. (Ott szó sincs debugoláskor - én amúgy Release módban használtam a cuccot, mivel nem hiszem, hogy a Picstart Plus-al debbugolni is lehetne... )

Amúgy itt a Manual:
ITT

A másik kommentem lényege: a NEM adatterületet (EEPROM) lehet törölni MPLAB-ból, de blank ellenőrzéskor (amikor ellenőrized, hogy üres-e a cucc) visít, hogy az adatterület nem üres... De ha egyszer SRAM + úgyis kinullázod, akkor mi a fenéért visít az MPLAB, hogy nem üres az adatrész?
Lényeg: nem látom benne a logikát...
(#) Thowra válasza trudnai hozzászólására (») Máj 11, 2008 /
 
Ezzel próbálkoztam és azokkal amiket alapból feltett ide:
C:\Program Files\PIC Simulator IDE\
(#) bladika válasza Csaplar hozzászólására (») Máj 11, 2008 /
 
Bocsi,de kipróbáltam szimulációval és a diódás dolgot felejtsd el abban a formában mert azt elfelejtettem hogy a nyugalmi állapot az 5V így hiába húzza 0V ra a másik ha a másik meg 5volton tartja!Ez akkor menne ha 0V lenne a nyugalmi állapot! Ezért mondtam hogy azért kéne valami próba! Bocsi!
(#) potyo válasza bladika hozzászólására (») Máj 11, 2008 /
 
Jó volt az elgondolás, csak meg kell fordítani a diódákat, és az RX oldali kivezetést felhúzni a tápra egy ellenállással.
(#) potyo válasza Csaplar hozzászólására (») Máj 11, 2008 /
 
Megoldható a dolog, csak a pic nem fogja tudni, hogy mi küldte az adatot, hacsak valami más feltétel alapján nem tudja beazonosítani a forrást. Az is gond, hogy a kimenő adat mindkét irányba kimegy, tehát azt is valahogy kapuzni kell.

Összességében talán egyszerűbb megoldás az egyik (a lassúbb) soros portot szoftverből megoldani, vagy olyan picet használni, ami rendelkezik két hardveres soros porttal.
(#) Thowra hozzászólása Máj 12, 2008 /
 
Üdv mindenkinek!
Írtam egy programot aminek a végén van egy kis problémám. A program végén van egy rész ahol egy lednek kell világítani, az, hogy melyiknem a progi egy változója tartalmazza.
tehát ha l=0 akkor a B0 ra kötött led volágít, ha l=1 akkor a B1 en lévő és így tovább. A gond az, hogy a output_high(); nál a PIN_B után lévő számot pl B1 a változóból kellene betenni. Próbáltam többféle módon de nem lett jó.
Van erre ötletetek?
Előre is köszönöm!
(#) trudnai válasza Thowra hozzászólására (») Máj 12, 2008 /
 
Nekem villogtatja a ledjeidet, nem tudom mi a bajod ezzel. Ultimate sebessegre allitottam es ugy szimulaltattam, kell varni ugy is 2-3 mp-et, hogy menjen...
(#) potyo válasza Thowra hozzászólására (») Máj 12, 2008 /
 
Te meg sem hallod azt, hogy jobb lenne, ha nem CCS-ben tanulnál? A CCS elég elrugaszkodott fordító, akkor már inkább Hi-Tech C fordítóján tanulnál, ha már azt hiszed, hogy te jobban tudod hogyan kell tanulni, mint mi, akik már jó ideje foglalkozunk picekkel...


Most leírhatnám ide a megoldást, de nem írom le, mert 1. te sem írtad le, hogy mi az a "többféle módon", 2. ha leírom, akkor meg sem próbálsz gondolkodni a megoldáson.
(#) Akiss hozzászólása Máj 12, 2008 /
 
Sziasztok! Lehet ezt a kérdést nem ide kelle írnom, de szükségem lenne egy ICD2 kapcsolásra, nem klónra hanem eredetire, javításhoz kell. Az ICD2 rosszul lett bekötve, a vdd, és a gnd fel lett cserélve, illetve a PGD és a PGC is. A reset az be se lett kötve(nem szándékosan). Az érdekes az hogy a hibaüzenet a "ICD0200: Operation Aborted (Warning 51)." ilyen nekem csak akkor volt mikor az MCLR nem kapta meg a feszültséget. Segítségetek előre is köszönöm!
Következő: »»   204 / 1320
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