Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   993 / 1319
(#) janikukac válasza Attila86 hozzászólására (») Júl 5, 2011 /
 
Koszonom a sok informaciot, es az idot, amit ram pazaroltal !
(#) dickheadz válasza vicsys hozzászólására (») Júl 5, 2011 /
 
Én első körben optocsatolós megoldásra gondoltam volna, tranzisztorost nem ismerek...
(#) emmzolee válasza (») Júl 5, 2011 1 /
 
Ne haragudj, de mi köze a kérdésemnek a pic égetési hibákhoz? Én azt kérdeztem, milyen az az égető amit linkeltem. Legalább annyi köze van a kérdésemnek ehhez a topikhoz, ha nem sokkal több. Kössz, hogy ki törülted.

Mellesleg ha meg nézted volna a linket, láttad volna, hogy föl volt sorolva az összes pic típus is, amit lehet vele programozni.
(#) potyo válasza emmzolee hozzászólására (») Júl 5, 2011 1 /
 
1. Nem linkeltél semmit

2. Pickit2 az PIC-hez való, nem AVR-hez, így teljesen felesleges amiatt szidni, hogy nem tudja valamelyik AVR-t égetni. Ha AVR-t akarsz égetni, akkor ahhoz való égetőt keress, és ezt az AVR-es témákban keresd. Esetleg írj annak, aki a Pickit2-höz az AVR támogatást írta.
(#) dickheadz válasza emmzolee hozzászólására (») Júl 5, 2011 /
 
Megnézték volna, csak az a gond, h nem linkeltél semmit...
Ráadásul a PICKIT2, (és gondolom a klónok is) mint a nevében is van, csak PIC programozásra 'alkalmasak'. Az AVR a 'konkurencia' (ATMEL) terméke...

Affene, potyo gyorsabb volt...
(#) emmzolee válasza dickheadz hozzászólására (») Júl 5, 2011 2 /
 
Most már nem tudjuk meg, hogy volt-e link. De akkor itt van megint. Hátha valaki ismeri és tud róla mondani valamit.

Bővebben: Link

Ez lenne az az e-bay-ről.
(#) SzervízMacska válasza emmzolee hozzászólására (») Júl 5, 2011 1 /
 
Nem semmi! Engem is érdekelne...
(#) icserny válasza emmzolee hozzászólására (») Júl 6, 2011 /
 
Fel van sorolva, hogy mihez használható. A fel nem soroltakhoz pedig nem jó. PIC-hez nem ajánlom. Inkább PICkit2 vagy PICkit3! Ezt a topikot kár offolni vele!
(#) Hp41C válasza dickheadz hozzászólására (») Júl 6, 2011 /
 
Már többször belinkeltem: PICKit is great ...

És még valami erről az oldalról:
Idézet:
„AVRDUDE supports pickit2 with the appropriate patch. There is a pickit2 patch at http://savannah.nongnu.org/patch/?7184
(#) Attila86 hozzászólása Júl 6, 2011 /
 
Idézet:
„MPLINK 4.38, Linker
Copyright (c) 1998-2010 Microchip Technology Inc.
Error - file './Forrasztoallomas III.o', section 'PGM', Symbol '_PGM_0500' is not word-aligned.
It can not be used as the target of a call or goto instruction.
Errors : 1

Link step failed.

Ez mit jelent?
(#) Hp41C válasza Attila86 hozzászólására (») Júl 6, 2011 /
 
Szia!

A lényeg:
Idézet:
„Symbol '_PGM_0500' is not word-aligned.”


A 18F -ek csak szóra igazított (word aligned) kódot tudnak végrehajtani.
(#) Attila86 válasza Hp41C hozzászólására (») Júl 6, 2011 /
 
És az mit jelent? Mit rontottam el a kódban?
(#) Hp41C válasza Attila86 hozzászólására (») Júl 6, 2011 /
 
Szia!

A _PGM_0500 szimbólum értéke páratlan... Sok helyről származhat:
- linker script,
- értékadás,
- táblázat megadása,
- elírás,
- túl összetett a kifelyezés, amit a linkernek kellene kiértékelni..
(#) watt válasza Attila86 hozzászólására (») Júl 6, 2011 /
 
org-ot nem tetél a kódba? Csak páros lehet...
(#) Attila86 válasza Hp41C hozzászólására (») Júl 6, 2011 /
 
Szia!

Szisztematikusan kitöröltem 1-1 részt a programból és rájöttem hogy mi nem tetszik neki. Az időzítő rutinok amiket egy weboldalon generáltam magamnak. Ha ezt kitörlöm, akkor lefordítja a programot.

4MHz.txt
    
(#) Hp41C válasza Attila86 hozzászólására (») Júl 6, 2011 /
 
A goto $+1 nem való 18F -re...
(#) Attila86 válasza Attila86 hozzászólására (») Júl 6, 2011 /
 
Azt hiszem a goto $+1-el lesz baja. Mindegy, generáltam egy másik programmal időzítőrutinokat és azokkal jó.
(#) watt válasza Attila86 hozzászólására (») Júl 6, 2011 /
 
Látod ezért nem szabad $-os gotot használni sehol, hiába egyszerűbb, mint címkéket létrehozni! Tudom, hogy nem te írtad, csak a tanulságot vontam le!
(#) trudnai válasza Attila86 hozzászólására (») Júl 6, 2011 /
 
Nem beszelve arrol, hogy 18F-en ha ilyen kicsiket ugralsz, akkor jobban jarnal BRA utasitasokkal inkabb, mert GOTO eseteben meg a $+2-vel is gondba kerulhetsz ha ket szavas utasitasokkal van tele a rutinod... no persze meg pazarlas is a program teruletet illetoen...
(#) Attila86 válasza trudnai hozzászólására (») Júl 6, 2011 /
 
Tudom tudom, de mondom hogy ezt nem én írtam hanem generáltam.
(#) Attila86 hozzászólása Júl 7, 2011 /
 
Megint elakadtam, most a CCP modullal. Korábban ez így működött PIC18F25K80-on:
  1. ;       PWM konfigurációja:
  2.         movlw   b'00001100'     ;PWM mód
  3.         banksel CCP2CON
  4.         movwf   CCP2CON
  5.         banksel CCPTMRS
  6.         bcf             CCPTMRS, C2TSEL         ;CCP2 órajele a TMR1/TMR2 legyen!
  7.         movlw   b'00000100'     ;1:1-es utóosztó, számláló engedélyezve, 1:1-es előosztó
  8.         banksel T2CON
  9.         movwf   T2CON
  10.         movlw   d'255'
  11.         banksel PR2
  12.         movwf   PR2
  13.         movlw   b'00000000'
  14.         banksel CCPR2L
  15.         movwf   CCPR2L                  ;kitöltési tényező 10.-2. bitjei
  16.         banksel CCP2CON
  17.         bcf             CCP2CON, DC2B1  ;kitöltési tényező 1. bitje
  18.         bcf             CCP2CON, DC2B0  ;kitöltési tényező 0. bitje
  19.         banksel ÜZEMMÓD

Most annyi a különbség hogy három PWM kimenetet szeretnék használni és nem a TMR2-vel hanem a TMR4-el (illetve nem PIC18F25K80-ról van szó hanem PIC18F26K80-ról de ugyan az a kettő):
  1. ;       PWM konfigurációja:
  2.         movlw   b'00001100'     ;PWM mód
  3.         banksel CCP2CON
  4.         movwf   CCP2CON         ;RC2-es láb PWM módban működik
  5.         banksel CCP4CON
  6.         movwf   CCP4CON         ;RC7-es láb PWM módban működik
  7.         banksel CCP5CON
  8.         movwf   CCP5CON         ;RB5-ös láb PWM módban működik
  9.  
  10.         banksel CCPTMRS
  11.         bsf             CCPTMRS, C2TSEL         ;CCP2 órajele a TMR4 legyen!
  12.         bsf             CCPTMRS, C4TSEL         ;CCP4 órajele a TMR4 legyen!
  13.         bsf             CCPTMRS, C5TSEL         ;CCP5 órajele a TMR4 legyen!
  14.         movlw   b'00000100'     ;1:1-es utóosztó, számláló engedélyezve, 1:1-es előosztó
  15.         banksel T4CON
  16.         movwf   T4CON
  17.         movlw   d'255'
  18.         banksel PR4
  19.         movwf   PR4
  20.        
  21.         movlw   b'00000000'
  22.         banksel CCPR2L
  23.         movwf   CCPR2L                  ;kitöltési tényező 10.-2. bitjei
  24.         banksel CCP2CON
  25.         bcf             CCP2CON, DC2B1  ;kitöltési tényező 1. bitje
  26.         bcf             CCP2CON, DC2B0  ;kitöltési tényező 0. bitje
  27.  
  28.         movlw   b'00100000'
  29.         banksel CCPR4L
  30.         movwf   CCPR4L                  ;kitöltési tényező 10.-2. bitjei
  31.         banksel CCP4CON
  32.         bcf             CCP4CON, DC4B1  ;kitöltési tényező 1. bitje
  33.         bcf             CCP4CON, DC4B0  ;kitöltési tényező 0. bitje
  34.  
  35.         movlw   b'00000000'
  36.         banksel CCPR5L
  37.         movwf   CCPR5L                  ;kitöltési tényező 10.-2. bitjei
  38.         banksel CCP5CON
  39.         bcf             CCP5CON, DC5B1  ;kitöltési tényező 1. bitje
  40.         bcf             CCP5CON, DC5B0  ;kitöltési tényező 0. bitje

De semmi nincs a kimeneten szkóppal nézve. Bemásoltam a fentebbi, korábban már működő kódot de most az sem jó.
(#) steev hozzászólása Júl 7, 2011 /
 
Sziasztok

Adott egy dsPic30f6012A. Van rá egy eddig normálisan futó programom, ami most valamiért mindig Default Interruptot generál . Találkozott már valaki ilyennel?
Esetleg hardware hiba lehet?
Köszi előre is az 5leteket, üdv
(#) Hp41C válasza Attila86 hozzászólására (») Júl 7, 2011 /
 
Szia!

Open drain kontroll regiszter...
(#) trudnai válasza steev hozzászólására (») Júl 7, 2011 /
 
Szia!

Milyen megszakitas generalodik? Azt kellene eloszor kideriteni. Ha a programodon nem valtoztattal, akkor elso korben hardver altal generalt megszakitasokat vizsgalnam.

De amugy az is siman lehet, hogy eddig a veletlen folytan nem kerult olyan allapotba a programod ami elohozta volna az addig is benne rejlo hibat (pl matematikai muveletekbol szarmazo hibak, vagy stack tulcsordulas stb).

Szoval kellene tudni a megszakitas forrasat, es onnan kibogozni mi zajlik ott le.
(#) Attila86 válasza Hp41C hozzászólására (») Júl 7, 2011 /
 
Szia!

Utánanéztem, nem teljesen értem mit csinál ez de beállítottam 0-ra és 1-re is az ODCON regiszter CCP2OD, CCP4OD és CCP5OD bitjeit is, semmi változást nem tapasztaltam egyik esetben sem.
(#) steev válasza trudnai hozzászólására (») Júl 7, 2011 /
 
Köszönöm az ötletet.
Végignéztem a megszakítás jelzőbiteket és megtaláltam mi a felelős a hibáért. Az UART RX megszakítás nem volt lekezelve (nem használatm), de engedélyezve volt és valószínű hogy bekapcsolásnál megszakítást generált.
Miután kikapcsoltam már megy rendesen
Köszi&Üdv.
(#) trudnai válasza steev hozzászólására (») Júl 7, 2011 /
 
Orulok, hogy megoldodott
(#) smrtln hozzászólása Júl 7, 2011 /
 
Sziasztok!

Egy kis segítséget szeretnék kérni elakadtam, már egy pár napja kínlodok azzal,hogy vezetéknélküli kommunikációt (USART-tal) akarok létrehozni két db PIC16F877 között. Már félsikernél tartok,de találtam két hibát amire nem tudok rájönni, hogy mi okozhatja, az egyiket már megfejtettem, sejtem mi lehet a hiba csak nem tudom hogy kéne kiküszöbőlni. Ezért kérek segítséget tőletek.
Az egyik hiba amire még nem jöttem rá az, hogy amikor le szimulálom a két programot proteussal akkor működik tökéltesen, viszont a valóságba már nem úgy működik ahogy kéne, 5 byte-os csomagokat küldök (Start,manc_kod_h,manc_kod_l,Paritas,Stop), és amikor vissza dekódolom az egészet akkor nem azt kapom amit kéne (a kódoló és dekódoló programrészletet többször le ellenőriztem, az tökéletes). És ezt nem értem a szimulációban jó viszont a valóságban nem, pedig egy kis programmal leellenőriztem hogy sikeresen megérkezik-e az adatcsomag és az sikeresen megjön (a valóságban), ugyan ezt a programot felhasználva beillesztve a dekódoló program részlettel már nem jó és nem tudok rájönni mitől van ez.
A másik hiba az, hogy véletlenül resetelem a vevo PIC-et és olykor a normálisan fut és van amikor beragad a megszakítás kezelőbe, erre már jöttem mi szerintem USART jelzőbitjét kéne valahogy törölni de sehogy se sikerül.
A mellékelt fájlban vannak a lényeges program részletek, assembly-ről van szó. Remélem tud valaki segíteni.

Segítséget előre is köszönöm!

smrtln

ado_vevo.txt
    
(#) trudnai válasza smrtln hozzászólására (») Júl 7, 2011 /
 
Egyreszt a megszakitas kontextus mentese nem jo, a STATUS es W vissza allitasat SWAPF-el kellene megcsinalni.

Masreszt a logikaja sem tetszik nekem, nem kellene a megszakitasbol varakozni, hanem csak lekezelni a megszakitast -- majd ha jon meg ujabb adat akkor ujra generalodik neked megszakitas.

A lopgikanak kb olyannak kellene lennie, hogy van egy buffered es egy buffer szamlalod. A Bufferedet a megszakitas tolti fel, es noveli a szamlalot a beerkezett karakterekre, majd vissza ter. Jon a kovetkezo karakter, ujabb megsakitas, bufferebe bepakolja a kovetkezo karaktert, szamlalo novel, visszater. Stb stb stb. Es kint figyeled a szamlalot, mikor elerte az 5-ot akkor kiolvasod vagy csinalsz vele amit csak szeretnel, es torlod a buffert es a szamlalot. Nyilvan a megszakitasban le kell tudni kezelni a buffer tulcsordulasokat, es termeszetesen a megszakitast kivalto jelzo biteket is torolni kell ahogy azt az adatlap is eloirja.
(#) watt válasza smrtln hozzászólására (») Júl 7, 2011 /
 
A két PIC között milyen hardver köti össze a vonalakat? Milyen távol van egymástól a két PIC?

A vételi jelzőbit akkor törlődik, ha kiolvasod a bejövő regisztert. A hibabitek(túlcsordulás bit) pedig akkor, ha ki-be kapcsolod az USART modult.

Én is azt mondom, hogy megszakításban soha nem várakozunk. A mentéseket nézd meg az adatlapban, hogyan kell, van konkrét példa!
Következő: »»   993 / 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