Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   130 / 1320
(#) trudnai válasza BlackStar hozzászólására (») Jan 18, 2008 /
 
Na ja, en egyszer a PicKit2 serial kommunikacios ablakaval jatszadoztam - ha jol emlekszem bitbillegtetos serial kommunikacit irtam - es vigan vacakolok, de mikor frissiteni szerettem volna a firmware-t a PicKit kozolte nincs Vdd (kivulrol kellett volna kapnia). Akkor nezem, hogy lekapcsoltam az aramkort, na de akkor meg hogy kommunikalgattam a cuccommal? Szilva mutatott ra, hogy a clamp diodakon keresztul kapja a tapfeszt... gondolom nalad meg epp forditva, a diodan keresztul foldelodik le a pic, hat ilyen is van
(#) watt válasza trudnai hozzászólására (») Jan 18, 2008 /
 
Kedves trudnai és neomur!

Nemrég ítam, hogy a BANKSEL két programsort szúr be a programba akkor is, ha valójában nem vált bankot(mert abban van amiben kell)!
A legtöbb esetben csak az 1-es bankban vannak a fontos regisztereink, ezért pocsékolás két programsort erre szánni. Még feleslegesebb ezt akkor tenni, ha nem kell bankot váltani!

Ezért felelőtlenség ilyen módszerre bíztatni bárkit! (egy aktív sorra két passzív sort elpazarolni a szűkös memóriából igen felelőtlen megoldás.)

A jó módszer az, hogy a fordítás után a warningokat megnézve ellenőrizni kell, hogy minden figyelmeztetéshez tartozó regiszter előtt kiválasztottuk e a megfelelő bankot!

Ugyanis a warning akkor is ott van, ha kiválasztottuk és akkor is ha nem!!!
Az csak arra figyelmeztet, hogy olyan regisztert használunk, ami nem a 0. bankban van.
Semmi többre! (tehát nem arra, hogy valamit elrontottunk, vagy nem!)
(#) trudnai válasza watt hozzászólására (») Jan 18, 2008 /
 
Kedves watt,

Koszonom az eszrevetelt. Azt hiszem ket kulonbozo dologrol beszelunk, marmint a BANKSEL ket kulonbozo aspektusarol. En a forras program portabilitasarol mig Te a program kod hatekonysagarol.

A portabilitasnal fontos, hogy ne essunk abba a tevhitbe, hogy a BANKSEL "ket utasitast szur be", mert ez igaz lehet X es Y tipusokon, mig masokon ez lehet 1 is. Pl. 12F629-ben 1 mig 16F628-ban 2, 18F-ekben megint csak 1 utasitas (movlb).

Masik elonye a bankselnek, hogy nem a bank szamat, hanem a valtozo nevet adjuk meg, igy ha a valtozonk atcsuszik egy masik bankra akkor sem tortenik panik - "eddig mukodott es most meg mar nem" tipusu kerdesfelvetesekre gondolok itt...

Abban maximalisan egyet ertek, hogy a BANKSEL nem optimalizal, nem tudja mi volt ez elozo beallitas, igy a biztonsag kedveert mindket bitet billegteti ha 2 bites a bank kivalasztas. De ha sajat modszert is valasztasz akkor is erdemesebbnek tartom lemakrozni, es akkor kesobb konyyu modositani a programot egyetlen helyen minthogy az osszes elofordulasi pontot vegig bogaraszva esetleg hibat kovessunk el.

Udv,
Tamas
(#) watt válasza trudnai hozzászólására (») Jan 18, 2008 /
 
Igen, ezzel a kiegészítéssel még kerekebb lett a dolog, és így én is teljesen egyetértek a kialakult képpel!
Köszönöm, hogy ilyen profi módon érvekkel tudtál válaszolni, minden elismerésem!
(#) AQLMGabor hozzászólása Jan 18, 2008 /
 
Pic égetéssel, és ic-prog-al kapcsolatban lenne kérdésem.
(#) AQLMGabor hozzászólása Jan 18, 2008 /
 
és már bele is hülyültem, akarom mondani icprog égető progi.
(#) watt válasza AQLMGabor hozzászólására (») Jan 18, 2008 /
 
Már bocsi, mi a kérdés? (ma hülye napom van! :rinya:
(#) vicsys válasza AQLMGabor hozzászólására (») Jan 18, 2008 /
 
Mi a kérdés?
(#) AQLMGabor hozzászólása Jan 18, 2008 /
 
Tehát ha törlöm a PIC tartalmát (16f628a) akkor üres. (3FFF látható ugye mert 14bitnyi "1" az ennyi)

Ha törlés után kiolvasom a tartalmat mégsem ezt látom!

A törlés az törli a kód és az adatvédelmet is, tehát ez nem lehet gond.
Akkor mi???
(#) watt válasza AQLMGabor hozzászólására (») Jan 18, 2008 /
 
Milyen égető van rajta?
(#) AQLMGabor válasza watt hozzászólására (») Jan 18, 2008 /
 
JDM, "Urbánus féle"
(#) AQLMGabor hozzászólása Jan 18, 2008 /
 
Természetesen XP alatt, telepítve a sys, API-ra állítva.
Mindent úgy csináltam ahogy a nagykönyben írva vagyon.

Próbáltam az időzitéssel is játszani de nem nyert.

Méregettem is: Vcc:5.06 MCLR:13,2 Égetés közben.
(#) watt válasza AQLMGabor hozzászólására (») Jan 18, 2008 /
 
Cseréld le benne az égetőt oshon-ra.
Fél éve alakítottam át egyet, mert nem működött. Sajnos nem volt túl egyszerű az átalakítás, mert elég sok mindent meg kellett változtatni a panelen és egy félig SMD nyákot illesztettem be a JDM helyére. Valószínűleg nem tudnám elmagyarázni, mert már nem emlékszem minden részletére. A lényeg, hogy azóta egy jól használható panel lett, amit előtte nem volt jó semmire.
Ha a JDM hibáiról akarsz olvasni, használd a keresőt, mert elég sokat írtunk itt már róla!
(#) AQLMGabor válasza watt hozzászólására (») Jan 18, 2008 /
 
Hmm.
Azért vettem meg mert Programozásból kezdő vagyok.

Legszívesebben építettem volna egyet hogy a kezdeti próbálkozások sikertelensége ne egy általam elrontott hardver legyen.

Ugylátszik rosszul döntöttem.
De ha bizonytalanul működik akkor miért árulja úgy az ember hogy ez tuti jó és a kezdők kánaánja?

Na bosszankodásból elég.

Utánanézek az oshon-nak.
Köszi a válaszokat!
(#) whalaky hozzászólása Jan 18, 2008 /
 
Üdv mindenkinek!
Full kezdő vagyok, és segítségre szorulok.
A 12F675 nek a GP3 lába csak kimenet lehet - ezt nem olvastame el elsőköben. A helyzet az, hogy nekem kéne egy külső interrupt, és 5 kimenet.
A probléma az, hogy alapállapotban a GP2 a külső interrupt.
A programmal nem is volna baj minden működik, csak az a fránya GP3 nem kimenet.
Segítsetek, hogyan lehet a külső élvezérelt interruptot áttenni a GP2-ről a GP3-ra, hogy nyerjek egy kimenet lábat? Mindenképpen csak élvezérelt megszakítás jó,hogy le vagy felfutó élre indul az mindegy, mind a kettő megoldható.
Ami még hab a tortán, hogy mindez CCS-ben készül.
(#) Norberto válasza AQLMGabor hozzászólására (») Jan 18, 2008 /
 
Idézet:
„ha bizonytalanul működik akkor miért árulja úgy az ember hogy ez tuti jó és a kezdők kánaánja?”


Mert ő kereskedő. Sok minden máshoz nem nagyon ért szegény. És hát ugye a kereskedőnek az a dóga, hogy a"saját" termékeit minél szélesebb körben árulja/rátukmálhassa az emberekre. Hát ezért árulja így.
(#) zaik válasza Norberto hozzászólására (») Jan 18, 2008 /
 
sziasztok,
az urbán PIC-égetőjében én sem hittem annó, ezért nem is náluk vettem, viszont annyiból hadd védjem meg, hogy, mikor elmentem hozzájuk,és pont PIC-t kértem vna (nem volt kedvem utazgatni még), lebeszélt róla, hogy nála vegyem, szóval rátukmálásról szó sem volt.

égetőnek sk építésűt vagy gyári, microchipes égetőt ajánlok. ha szerencséd van, akciós csipkedéknél. (anno a 44pines demo board-os kit olcsóbb vt, mint maga az égető)
(#) szilva válasza whalaky hozzászólására (») Jan 19, 2008 /
 
A GPIO lábak állapotának megváltozásához is tudsz interruptot kötni (interrupt on change). Az IOC regiszterben kell a megfelelő bitekkel kijelölni, hogy melyik lábak megváltozásakor generáljon nterruptot.

Persze az lekezelő rutinban Neked kell majd eldönteni, hogy a változás, ami éppen oda térítette a vezérlést, az a felfutó vagy lefutó él volt-e, kell-e csinálni bármit is.
(#) whalaky válasza szilva hozzászólására (») Jan 19, 2008 /
 
Boc ha értetlenkedek, de tényleg kezdő vagyok...
Ha beállítok egy interruptot az IO change-re az csak az input lábakat figyeli, vagy az outputot is?
(#) potyo válasza whalaky hozzászólására (») Jan 19, 2008 /
 
Adatlap 3.2.2 fejezetét nézd át, a Figure 3-1 tüzetes átvizsgálása mellett. Van ott egy Interrupt-On-Change feliratú kapu, na annak a bemenő jeleit kövesd végig.
(#) whalaky válasza potyo hozzászólására (») Jan 19, 2008 /
 
kezdem kapisgálni... A 0x096h -ra kéne 0x08h-t írni.
Akkor konkrétizáljuk a dolgot, mielőtt egy újabb nyákot legyártok
CSS-ben ez így néz ki? (most atnulgatom a CSS-t is)
  1. #INT_RA3
  2.  
  3. void RA3_isr() {
  4.  
  5. }
  6.  
  7. ....
  8.  
  9. set_tris_a( 0b11001000 );  // GP3 input
  10.  
  11. enable_interrupts(INT_RA3);
  12.  
  13. enable_interrupts(GLOBAL);
(#) whalaky válasza whalaky hozzászólására (») Jan 19, 2008 /
 
ez a kód dolog nem jött be
szal
#INT_RA3
void RA3_isr() {
}
....

set_tris_a( 0b11001000 ); // GP3 input enable_interrupts(INT_RA3);
enable_interrupts(GLOBAL);

(#) MPi-c válasza whalaky hozzászólására (») Jan 19, 2008 /
 
#INT_RA
void RA_isr()
{
itt kell eldöntened, melyik lábon és milyen éllel
}

és értelemszerűen: enable_interrupts(INT_RA); a főprogramba.
(#) whalaky válasza MPi-c hozzászólására (») Jan 19, 2008 /
 
OK, de nekem csak a GP3-ra kéne hogy beessen egy interrupt, a többi kimenet és állitgatom, ha arra is megszakítást generál az nekem nem nyert.
Erre lenne jó potyo javaslata, a 08h a 096h-ra, de ezt CSS-ben hogy tudom elérni?
(#) pet hozzászólása Jan 19, 2008 /
 
Sziasztok!

Ha ezt:


az égetőt csinálom meg és stabilizált labortápról szedem a 15V, akkor melyik alkatrészeket hagyhatom ki
Gondolom a 2 kondi és az első stabilizátor, stabilizálásra szolgál.

(#) MPi-c válasza whalaky hozzászólására (») Jan 19, 2008 /
 
Teszteled, hogy melyik lábon volt a változás és csak akkor hajtod végre a megszakítás többi részét, ha az a számodra érdekes láb volt.
(#) MPi-c válasza whalaky hozzászólására (») Jan 19, 2008 /
 
Megnéztem az adatlapot, meg a PIC-ről mit ír a CCS. Úgy jónak kell lennie, ahogy te írtad, tehát #INT_RA3 (stb.) !! Szerintem ez beállítja a IOC regisztert.
(#) watt válasza pet hozzászólására (») Jan 19, 2008 /
 
Ez egy JDM. Nem olvasod a topicot?
(#) pet válasza watt hozzászólására (») Jan 19, 2008 /
 
Nemigazán.

És ebből mi következik?
(#) Lucifer válasza watt hozzászólására (») Jan 19, 2008 /
 
Mondjuk ez a programozó Topi cikkében szerepel, annak ellenére, hogy csak a szívás van vele.
Lehet korrigálni kellene és valami normális LPT-s kapcsolásra lecserélni.

pet: watt arra próbált utalni hogy ennek a topiknak a nagy része a JDM fikázásáról szól ami nem alaptalan. Nem írom le mégegyszer az okát ha visszalapozol kapsz rá korrekt választ, hogy miért nem ajánlott használni.
Következő: »»   130 / 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