www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

PIC 18Fxxx
Pojdi na stran Prejšnja  1, 2, 3
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Microchip PIC
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14673
Aktiv.: 61.95
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Pon Jan 02, 2006 11:57 am    Naslov sporočila:   Odgovori s citatom

bferlic je napisal/a:

.... Priporočal bi ti še uporabo bootloaderja, saj je z njim programiranje veliko hitrejše, potrebna je le serijska povezava z računalnikom. Sam sem s tem procesorjem uspešno uporabljal Tiny PIC bootloader.



Sam sicer uporabljam P16pro, kateri PIC sprogramira dokaj hitro. Mogoče napišeš o bootloader-ju kaj več. Varjant je vrjetno kar nekaj. Koliko razumem programiranje poteka preko USART-a. Torej sta ta dva pina lahko uporabljena le za serijsko komunikacijo? Kateri del programskega pomnilnika zasede bootloader? Kot hardware je vrjetno uporaben tale proteusov adapter ?

_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
NeoTO
Član
Član



Pridružen-a: Pon 28 Mar 2005 19:19
Prispevkov: 2752
Aktiv.: 11.62
Kraj: Trzic

PrispevekObjavljeno: Pon Jan 02, 2006 12:53 pm    Naslov sporočila:   Odgovori s citatom

Jaz vedno več uporabljam ICSP tudi za protoboard preko K150 DIY programatorja. Pri bootloaderju sem imel težave, ker C compilerju nisem mogel (znal) dopovedati, da prostor, kjer je bootloader, ne sme uporabljati. Tale K150 pa podpira tudi 18F458...
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo MSN Messenger - naslov
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14673
Aktiv.: 61.95
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Pon Jan 02, 2006 4:51 pm    Naslov sporočila:   Odgovori s citatom

Malo raziskujem sam mikrokontroler. Kar nekaj stvari me je presenetilo. Ena iz med njih je to, da je sedaj W - WREG fizičen register. Nekaj čudega sem namreč doživel, ko sem zamenjal inc datoteko, ki jo je pripel bferlic. Ko sem kodo prevedel mi je "zatežil" o tem, da se labela "clrw" ne nahaja v prvem stolpcu (mišljena je sicer bila instrukcija, ki briše W register) Na kar sem šel gledati star inc. Tam sem videl da je definirano:
Koda:
#define clrw clrf WREG       ; PIC16Cxxx code substitution (WREG is addressable)


Torej brisanje fizičnega registra.

_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
bferlic
Član
Član



Pridružen-a: Tor 09 Dec 2003 17:28
Prispevkov: 99
Aktiv.: 0.42
Kraj: Brezula, Rače

PrispevekObjavljeno: Pon Jan 02, 2006 9:52 pm    Naslov sporočila:   Odgovori s citatom

Zdravo

Jaz sem uporabljal bootloader predvsem zato, ker nimam nobenega drugega programatorja kot JDM in z njim je res nemogoče delati. Sam sem uporabljal, kot sem že napisal, Tiny PIC bootloader. Zasede mislim da okrog 100 besed na koncu flash pomnilnika. Glede kode je zahteva, da mora biti v prvih 4 besedah pred prekinitvenim vektorjem ukaz goto, saj bootloader te štiri besede prestavi na drugo lokacijo.

Programiranje poteka tako: najprej odpremo priložen program na računalniku, nastavimo, kateri COM port bomo uporabili, in hitrost le tega. Ta je odvisna od verzije .hex datoteke, ki smo jo naložili v mikrokontroler z navadnim programatorjem. Potem je potrebno resetirati vezje, in v naslednji sekundi pritisniti Write flash v programu. Hex datoteka se skopira v čip in avtomatsko zažene, hitrost programiranja je omejena s hitrostjo COM porta, je pa do največ nekaj sekund. Če pa ne pritisnemo Write flash, pa se po eni sekundi čakanja zažene stari program v mikrokontrolerju. Zato je za končno aplikacijo vseeno potreben navaden programator, saj mikrokontroler pri navadnem zagonu vedno čaka 1 sekundo.

LP
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo MSN Messenger - naslov
NeoTO
Član
Član



Pridružen-a: Pon 28 Mar 2005 19:19
Prispevkov: 2752
Aktiv.: 11.62
Kraj: Trzic

PrispevekObjavljeno: Pon Jan 02, 2006 10:48 pm    Naslov sporočila:   Odgovori s citatom

Jaz sem imel pa takšen bootloader, da je čakal mislim da manj kot 100 ms na ukaz iz računalnika, tako da zakasnitev ob normalnem vklopu vezja skoraj ni bila opazna. V programu se je enostavno kliknilo na gumb Write, nato pa vezje resetiralo (mislim da je bila omejitev tam nekje 10s čakanja) in program je prenesel HEX v mikrokontroler.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo MSN Messenger - naslov
bferlic
Član
Član



Pridružen-a: Tor 09 Dec 2003 17:28
Prispevkov: 99
Aktiv.: 0.42
Kraj: Brezula, Rače

PrispevekObjavljeno: Pon Jan 02, 2006 11:15 pm    Naslov sporočila:   Odgovori s citatom

Mislim, da se da to narediti tudi s tem bootloaderjem, moral bi samo RTS linijo na COM portu uporabiti za reset. Jaz vezja nisem spreminjal.

LP
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo MSN Messenger - naslov
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14673
Aktiv.: 61.95
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Tor Jan 03, 2006 12:47 am    Naslov sporočila:   Odgovori s citatom

Znova in znova me kaj preseneti Confused . Seveda sem se odločil, da skušam narediti neko aplikacijo. Za začetek sem hotel dodati 6 običajnih led displejev, ki bodo delali v mutiplex načinu. Zataknilo se je že pri klasični tabeli:
Koda:

TABELA
       addwf PCL,f
       retlw b'11111110'
       retlw ......
       retlw
 

zadeva se je obnašala zelo čudno -brala mi je le polovico tabele. Confused Na kar ugotovim da se dejansko PC premika po dva fizična naslova. Ugotovil sem da obstajajo namenski registri prav za branje tabel a zadeve še nisem uspel preučiti. Mogoče kdo napiše kaj o tem. Koristno se mi zdi tudi hardwersko množenje. Pred vsem zaradi hitrosti.

_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
aly
Član
Član



Pridružen-a: Tor 28 Sep 2004 14:51
Prispevkov: 9407
Aktiv.: 39.71
Kraj: Kranj - struževo

PrispevekObjavljeno: Sre Jan 04, 2006 11:26 am    Naslov sporočila:   Odgovori s citatom

za programiranja serije 18Fxxx priporočam:
http://www.sprut.de/electronic/pic/brenner/

meni deluje v redu in dokaj hitro.

LP

_________________
I'm going to stand outside, so if anyone asks, I'm outstanding Smile
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran MSN Messenger - naslov
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14673
Aktiv.: 61.95
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Sre Jan 04, 2006 7:30 pm    Naslov sporočila:   Odgovori s citatom

LoLek je napisal/a:
S tem 18f458 veliko delam in nima kakšnih posebnosti oz. večjih pasti. Delal sem z ASM in z C pa je vse lepo špilalo. Mogoče to, da ima nekatere porte po defaultu nastavlene na npr. komparator (portd) ali A/D (porta). To vse lepo piše v datasheetu.
Je pa zelo zmogljiv PIC, lahko delaš marsikaj.


Tukaj bom dopisal par, stvari, izkušenj...
Res poznavalcem serije 16X omenjena družina ne bo predstavljala večjega problema. Definitvno pa zadevo odsvetujem začetniku sploh, če se bi želel nad njih spustiti z assemblerjem. Že sem sem kaka dva dni "kopal" le med registri. Začetniku bi verijetno hitro zmanjkalo volje.
Naletel pa sem na par bistveno drugih stvari (pasti). Elegantna stvar je, da so sedaj registri mapirani le v eni banki. Zanimivih je tudi par novih instrukcij. Recimo zelo dobrodošla je "movff REG1, REG2". Tudi hardwerko množenje se mi zdi zelo uporabno. Prekinitve so (lahko) dvonivojske. Lahko pa seveda delajo kot 16X serija. Funkcije "tabel" še nisem razglabljal. V programu sem sicer uporabil tabele na "star način" Moti me, da še vedno niso uspeli shraniti WREG,STATUS-a ter BSR registrov samodejno v sklad ob prekinitvi. Evil or Very Mad Razlik je tudi nekaj glede indirektnega naslavljanja - INDF registrov je namreč več. "Padel" sem na eni stvari, ki mi je vzela kar precej časa. Vključil sem AD porte za tem sem po pomoti definiral RA1 kot izhod. (AN1) Pin se je obnašal kot izhod z nizkim stanjem - AD pa je vseeno izvajal meritev - a izmerjena vrednost ni bila pravilna.

_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
LoLek
Član
Član



Pridružen-a: Sre 25 Feb 2004 12:46
Prispevkov: 343
Aktiv.: 1.45

PrispevekObjavljeno: Sre Jan 04, 2006 8:02 pm    Naslov sporočila:   Odgovori s citatom

Silvo je napisal/a:
Definitvno pa zadevo odsvetujem začetniku sploh, če se bi želel nad njih spustiti z assemblerjem.


Sem bil tisti revež, ki je napadel to serijo kar z asm-jem. Brez prejšnjih izkušenj s katerikolim mikrokrmilnikom.
Pa sem preživel, ko sem prvič videl tisti 400+ strani datasheet, se mi je obračalo, ampak na koncu se je splačalo. Very Happy
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14673
Aktiv.: 61.95
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Sre Jan 04, 2006 8:15 pm    Naslov sporočila:   Odgovori s citatom

Applause Res, ko vidiš 400+ strani moraš kot začetnik biti res vstrajen.
_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Microchip PIC Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran Prejšnja  1, 2, 3
Stran 3 od 3

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 492 dni


Powered by phpBB © 2001, 2005 phpBB Group