Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   602 / 1319
(#) potyo válasza Stefan hozzászólására (») Nov 8, 2009 /
 
Az is benne van az adatlapban, hogy miért, kicsit tovább kellett volna bogarászni. Link
(#) trudnai válasza Stefan hozzászólására (») Nov 9, 2009 /
 
Orulok, hogy megtalaltad a hibat. Amugy azt is erdemes szem elott tartani, hogy a kimenetek allapotat lekerdezni nem szerencses dolog. Ha az kell akkor arnyek regisztert kell letrehozni, es annak tartalmat modositani/lekerdezni es utana atmasolni a portra.
(#) Stefan válasza potyo hozzászólására (») Nov 9, 2009 /
 
Köszönöm, most már értem
(#) Stefan hozzászólása Nov 9, 2009 /
 
Ha már témánál vagyunk
A másik érdekesség amit szintén nem sikerült feldolgoznom az LCD kezelésnél volt. Talán ezt is meg tudjátok magyarázni
Adott egy LCD, lábkiosztás: E:RA0, RS:RA1 , R/W: RA2
Adatbitek: PORTD
Minden inicializáló, beállító utasítást végrehajtott, ha így adtam neki az órajelet:
  1. RA2=0;
  2. RA1=0;    
  3. PORTD=0bxxxxxxxx;
  4. RA0=1;
  5. del();
  6. RA0=0;

Kivéve az írást.
Az csak úgy ment ha:
  1. PORTA=0b00000011;
  2. PORTA=0b00000010;

Lehet most elrontottam a parancskódokat, mert fejből írtam, a lényeg, hogy írás csak akkor ment ha PORTA írásával módosítottam a biteket
(#) icserny válasza Stefan hozzászólására (») Nov 9, 2009 /
 
Ha jól értem a leírtakat, akkor lényegében ugyanarról van szó, mint a korábbi problémádnál.
(#) trudnai válasza Stefan hozzászólására (») Nov 9, 2009 /
 
Valoszinuleg RMW (Read-Modify-Write) hibad van mivel a biteket egyesevel piszkalod egymas utan... Ahogy emlitettem arnyek regisztert hasznalj es azt masoldd be a PORTA-ba...
(#) Stefan válasza trudnai hozzászólására (») Nov 9, 2009 /
 
Éreztem a hasonlóságot az előzővel, csak az nem volt tiszta, hogy az előzőnél feltételvizsgálat is volt, itt meg nem.
És működött a törlés, display on, set address, stb.. utasításokkal, csak az írással nem.
De akkor ezekszerint itt is az volt a probléma?
Akkor a beállító utasításokkal miért ment?
(#) potyo válasza Stefan hozzászólására (») Nov 9, 2009 /
 
Idézet:
„Akkor a beállító utasításokkal miért ment?


Mintha ezt leírtam volna az előbb linkelt hozzászólásomban. Olvasd el alaposan újra.
(#) HoGyu hozzászólása Nov 10, 2009 /
 
Sziasztok. Én most kezdek ismerkedni a PIC-el. Napok óta olvasom a fórumokat, de arra nem találtam semmi utalást, hogy melyik égető progit és hozzá való kütyüt használjak, ami Vista alatt is menne. Többnyire DOS, vagy Win9x alatti javaslatok vannak, néha XP-sek. Valaki használ Vista alatt égetőt? Esetleg nem USB-set?
Üdv, Gyuri
(#) potyo válasza trudnai hozzászólására (») Nov 10, 2009 /
 
Idézet:
„Elsoszamu okolszabaly, hogy programozashoz sohase hasznalt TAB-ot! Az MPLAB editorjat allitsd at, hogy space-eket tegyen be TAB helyett...”


Mi a gond a tabokkal? Én is jobban szeretem tabbal tagolni a kódokat, mint a space-el
(#) lidi válasza potyo hozzászólására (») Nov 10, 2009 /
 
Akkor van vele gond ha máshol készult kodot kell betölteni. Mert nem egységes, van ahol 4 van ahol 8-at jelent a tab.
(#) potyo válasza lidi hozzászólására (») Nov 10, 2009 /
 
Mondjuk az igaz, hogy nem egységes, de a legtöbb helyen állítható, hogy hány karaktert jelentsen. Meg ettől függetlenül nem rontja el a tagolást, csak arrébbcsúsztatja az egészet. Engem az jobban zavar, hogy amikor a kódot rendezgetem, akkor balra húzásnál nem elég egy, hanem négyszer kell backspace-t vagy delete-t nyomni.
(#) trudnai válasza potyo hozzászólására (») Nov 11, 2009 / 1
 
Idézet:
„Mondjuk az igaz, hogy nem egységes, de a legtöbb helyen állítható, hogy hány karaktert jelentsen. Meg ettől függetlenül nem rontja el a tagolást, csak arrébbcsúsztatja az egészet.”


A TAB beallitas globalis es nem file-ra vonatkoztatott. Ez halmozottan igaz mikor a kododat beidezed valahova, pl ide a HE-re Vagy e-mail-ben akarod elkuldeni es a kulonbozo e-mail kliensek maskepp viselik a tabolast. Vagy a kulonbozo text toolok ahogy kezelik. Vagy search and replace-nel ha az editor bugyuta Microsoft jellegu es nem tamogatja az kulonleges karakterek kereseset/cserejet. En eddig ahany oregebb programozoval beszeltem mind a space-re eskudott ilyen-olyan okokbol kifolyolag.

Idézet:
„Engem az jobban zavar, hogy amikor a kódot rendezgetem, akkor balra húzásnál nem elég egy, hanem négyszer kell backspace-t vagy delete-t nyomni.”


Ezt egy modern programozoi editornak kezelnie kell. Ha be van allitva a "soft-tab" azaz hogy space-ekre cserelje le a TAB-okat, akkor ugyanugy indentalasi sizntekre ugrik, csak nem TAB karaktert tesz bele igy egy csomo helyzetben a kod ugyanugy fog kinezni mint ahogy azt beindentaltad -- nem pedig kliens fuggoen hogy hol van bevezeto whitespace hol nincs...

Nezzuk mit csinal ha Space-ekkel tagoltan teszem be:

  1. int akarmi ( int parameter ) {
  2.     for ( i = 0; i < 100; i++ ) {
  3.         for ( j = 0; j < 100; j++ ) {
  4.             printf ( "%u%u\n", i, j );
  5.         }
  6.     }
  7. }

Ugyanez tabokkal:
  1. int akarmi ( int parameter ) {
  2.         for ( i = 0; i < 100; i++ ) {
  3.                 for ( j = 0; j < 100; j++ ) {
  4.                         printf ( "%u%u\n", i, j );
  5.                 }
  6.         }
  7. }

Ugyanez a TAB-os a VIM-ben pl hoszabb indentalasokat eredmenyez, OutLook-ban tudom, hogy szepen kivadassza a vezeto TAB-okat, szoval nem tudom, en nem szeretem, csak a nyug van vele
(#) potyo válasza trudnai hozzászólására (») Nov 11, 2009 /
 
Értem, hogy mire gondolsz, de itt se rontotta el a formázást, csak mint írod, rövidebb indenteket csinált.

Viszont csak most nézem, hogy shift+tab-al birom visszahúzgálni a sorokat. Eddig ezt csak akkor használtam, ha több sort húztam egyszerre. Egy sornál mindig delete vagy backspace-el húzgáltam visszafele, és kényelmesebb volt, hogy egy tab-nyit húzott balra egyszerre, ha tab-al volt megoldva a kód eleje

Viszont a fájlmérettel még mindig spórolunk, ha tab-ot használunk Outlook-ot meg szerintem nemsokan használnak, én legalábbis nem ismerek senkit, aki használná. Kivéve egy-két olyan illetőt, akiknek úgyse mond semmit az, hogy kivadassza a vezeto tab-okat.
(#) icserny hozzászólása Nov 11, 2009 /
 
Üdv! Tegnap az USB-re dugva hagytam ezt a kísérleti áramkört, úgy kapcsoltam ki a számítógépet. Ma bekapcsolás után azt vettem észre, hogy a PIC programja elhülyült (HID bootloader + egy egyszerű tesztprogram volt benne). A HID bootloader sem akart beindulni, PICkit2-vel újra kellett égetni.

Jártatok már így? S mit lehet tenni az ilyen esetek ellen?(gyakorlati felhasználásnál nem lehet arra számítani, hogy mindig kihúzgálják az USB-t).

Az aktuális áramkörből hiányzik a C1 kondenzátor, így elképzelhetőnek tartom, hogy VDD megszűnése után a VUSB-n még volt feszültség, de ez csak spekuláció.
HID bootloader és konfigurációs beállítások a Microchip USB keretrendszer PICDEM FSUSB-hez való állományai szerintiek.
(#) trudnai válasza potyo hozzászólására (») Nov 11, 2009 /
 
Na mindegy, kicsit szet-offoltuk, talan meg ez belefer Szoval a googlin ra akartam keresni a tab vs. space-re, es automatan kiegeszitette nekem a keresendo kifejezest, szoval mar eleg regi vita tema ez

Bővebben: Link
(#) trudnai válasza icserny hozzászólására (») Nov 11, 2009 /
 
Huuu, egyszer pedig volt errol szo vagy a piclisten vagy a Microchip forumon. Megprobalom megkeresni.

LVP lab amugy le van huzva a foldre? Bootloader szegmensere a kod vedelem be volt kapcsolva?
(#) icserny válasza trudnai hozzászólására (») Nov 11, 2009 /
 
Idézet:
„LVP lab amugy le van huzva a foldre?”

Nincs lehúzva, de a konfigurációban ki van kapcsolva.

Idézet:
„Bootloader szegmensere a kod vedelem be volt kapcsolva?”

Nem volt bekapcsolva.
(#) szilva válasza icserny hozzászólására (») Nov 11, 2009 /
 
Én arra gondolnék, hogy vagy a tápfesz-ingadozások vagy az USB initkor történő kitudjamilyen kommunikáció miatt került olyan ágra a bootloader, hogy rossz helyre rossz adatot firkált. A bootloader-terület írásvédelme config szinten szerintem segítene a problémán, de persze a felhasználói területet ekkor is "összefirkálhatja". Esetleg a HID bootloader progit kellene megnézni, hogy elég bombabiztosra van-e megírva az esetlegesen beeső szabálytalan, kitudjamilyen tartalmú USB-s kommunikációval szemben.
(#) icserny válasza szilva hozzászólására (») Nov 11, 2009 /
 
Ilyesmire gondoltam én is, de nagyon valószínűtlennek tűnik. Ha a PIC normálisan működik, akkor RESET-kor az RB4 lábat le kell húzni ahhoz, hogy programozó módba kapcsoljon.

Az USB-n meg "akármi" nem eshet be bizonyos feltételek nélkül. Úgy tudom, az üzenetcsomagokban CRC ellenőrzés van.

Egyébként ki- és bekapcsoláskor alaphelyzetben nem volt USB kiszolgáló program az alkalmazásban. Ettől függetlenül tápfeszingadozáskor rátévedhet a bootloaderre, de mekkor az esélye, hogy annak volt még ideje a HID kapcsolódásra és üzenetváltásra?

Ennyi erővel egy kozmikus részecske is lehetett...
(#) potyo válasza (») Nov 12, 2009 /
 
Mi a kérdés? Ha az lenne, hogy miért nem fordul le, akkor ez a két sor tartalmazza az okot:

  1. Error - could not find definition of symbol 'ADCON1' in file './main.o'.
  2. Errors    : 1
(#) beton cipő hozzászólása Nov 12, 2009 /
 
Sziasztok!
Egy letöltött demo progam nem fordul le. Mellékeltem a fordító kimenetét. Ha esetleg lenne valami ötletetek, akkor azt nagyon megköszönném!
Üdv!

kimenet.txt
    
(#) efiscp hozzászólása Nov 12, 2009 /
 
Na itt vagyok megint. Lett egy zsír új próbapanelem, meg szereztem 7805-öt is, de még mindig fennáll a probléma (csak akkor dolgozik a PIC megszakításban, ha fogom a panel fémjét, vagy a tokját). Ha van valakinek még ötlete, hogy mi a halálért csinálja, akkor ne kíméljen.
(#) trudnai válasza efiscp hozzászólására (») Nov 12, 2009 /
 
Nyilvanvaloan valami taphiba, nagy zaj a tapon, nem megfelelo foldeles, nincs minden Vdd/Vss bekotve, kondi nem jo (mas tipust kell berakni), kabel nem jo stb stb stb...

Szkoppal merdd meg mekkora a zaj kozvetlen a pic laban (hidegito kondi utan). Merdd meg a kabel ellenallasat vagy az Vdd vonali imednanciat, probaldd ki masik tappal stb (lehet ott nem jo a foldpont, de az is lehet a 220-as konnektorod nincs jol bekotve).
(#) trudnai válasza beton cipő hozzászólására (») Nov 12, 2009 /
 
Nezd meg jo include file van-e berantva a main.c-ben. Amugy azok a warningok sem tetszenek nekem, utana kellene jarni mik azok es javitani a kodot vagy elcsititani a compilert (pl. castolassal, ha az ugy jo ahogy van)...
(#) watt válasza efiscp hozzászólására (») Nov 12, 2009 /
 
Jó lenne látni a kivitelt(mindkét oldalról, tápokkal, kábelezéssel). Az is jó lenne, ha lerajzolnád pontosan, minden részét. A program jelenlegi állapota is kéne.
(#) efiscp válasza watt hozzászólására (») Nov 12, 2009 /
 
Okés, majd csinálok róla pár képet, csak most zhra kell tanulnom.

Szkópot meg sajnos nem hordok a zsebemben.
(#) szilva válasza icserny hozzászólására (») Nov 12, 2009 /
 
Igazad van, hogy nagyon sok a "ha". És valóban, akár a kozmikus részecske becsapódása is valós ok lehet (tényleg, nem volt mostanában napkitörés?).

Viszont ha a jelenség kifejezetten reprodukálható, akkor nagyon érdemes lenne vagy a végére járni, vagy valami olyasmit kitalálni, amivel el lehet kerülni vagy detektálni lehet a hibát. Most olyasmik jutnak eszembe, hogy pl. BOR-t bekapcsolni, és ha BOR történik, akkor egy LED-en jelezni és végtelen ciklusban maradni, vagy esetleg a bootloadert felokosítani annyira, hogy valamiféle checksumot csináljon feltöltéskor a programodról, amit el is tárol valahol és ellenőrzni minden normál reset-es indításkor, hogy jó-e a checksum. Meg persze a kódterület írásvédelmével is lehet játszadozni (ha lehet, ha tud ilyesmit változtatni a bootloader maga), illetve a bootloader-terület írásvédelmét mindenképpen célszerű eleve bekattintani a configban.
(#) watt válasza efiscp hozzászólására (») Nov 12, 2009 /
 
Jó lenne nyákterv, rajz, program. A kép is, de ha az gond, akkor nem érdekes annyira, csak a látvány is segíthet, esetleg...
(#) szilva válasza efiscp hozzászólására (») Nov 12, 2009 /
 
A 7805-nek mekkora bemenő feszültséget adsz?
Következő: »»   602 / 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