forum.mcontrollers.com - hlavní stránka forum.mcontrollers.com - fórum

 

.: fórum - hlavní stránka :.
Technology Stronghold by Rudolf Vesely
How to build Microsoft System Center hosted cloud series
FAQFAQ HledatHledat Seznam uživatelůSeznam uživatelů Uživatelské skupinyUživatelské skupiny RegistraceRegistrace
ProfilProfil StatistikaStatistika Soukromé zprávySoukromé zprávy PřihlášeníPřihlášení

 
PIC18F2331

 
Přidat nové téma   Zaslat odpověď    Obsah fóra mcontrollers.com -> Microchip
 
honza3
Profesionál
Profesionál


Založen: 21.1.2008
Příspěvky: 1160
Bydliště: Přerov

PříspěvekZaslal: 21 leden 2008, 20:02    Předmět: PIC18F2331 Citovat

Zdravím
Potřeboval bych menší radu, nebo spíš nakopnutí správným směrem. Programy píši a simuluji v MPLABu. Programátor mám PICQUICK.
Do teď jsem používal PIC 16F87XA, ale dostal se mi náhodou do ruk PIC18F2331.

U PIC 16F se psal na konfiguraci řádek __CONFIG atd, ale u PIC18F se to píše jinak a to je můj problém.
Neví tady někdo, jak správně napsat konfiguraci pro PIC 18F?
Díky.

Arrow administrator: přesunuto ze sekce "Zprávy od moderátorů (vývěsní tabule)"
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
 

 
honza3
Profesionál
Profesionál


Založen: 21.1.2008
Příspěvky: 1160
Bydliště: Přerov

PříspěvekZaslal: 21 leden 2008, 20:33    Předmět: Citovat

Omlouvám se, já to špatně zařadil. Crying or Very sad Crying or Very sad Smazat to nejde!! Embarassed Embarassed Embarassed
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
 

 
jankop
moderátor
moderátor


Založen: 24.10.2007
Příspěvky: 336
Bydliště: Brno

PříspěvekZaslal: 21 leden 2008, 21:02    Předmět: Citovat

Nešlo by to třeba takhle?

config setting=value [, setting=value]

kód:
#include p18f452.inc        ;Include standard header file
                            ;for the selected device.
;code protect disabled
CONFIG     CP0=OFF
;Oscillator switch enabled, RC oscillator with OSC2 as I/O pin.
CONFIG     OSCS=ON, OSC=LP
;Brown-OutReset enabled, BOR Voltage is 2.5v
CONFIG     BOR=ON, BORV=25
;Watch Dog Timer enable, Watch Dog Timer PostScaler count - 1:128
CONFIG     WDT=ON, WDTPS=128
;CCP2 pin Mux enabled
CONFIG     CCP2MUX=ON
;Stack over/underflow Reset enabled
CONFIG     STVR=ON


Pokud ti pro parametry nestačí soubor p18f452.inc, tak si najdi následující dokument: PIC18 Configuration Settings Addendum (DS51537).
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
 

 
administrator
hlavní administrátor
hlavní administrátor


Založen: 2.1.2006
Příspěvky: 758
Bydliště: Ostrava

PříspěvekZaslal: 21 leden 2008, 21:32    Předmět: Configuration Bits - PIC18F2331 Citovat

Řada 18F už nemá jedno velké konfigurační slovo, ale má sedm konfiguračních registrů CONFIG1L, CONFIG1H, CONFIG2L, atd. Máš to popsané v datasheetu na straně 267 (kapitola 22.1 Configuration Bits).


jankop napsal:
... PIC18 Configuration Settings Addendum (DS51537).


PIC18 Configuration Settings Addendum (DS51537) máš tady.

Na microchip.com ho nehledej, protože Microchip ho přestal vydávat jako PDF, protože ho má v on-line nápovědě k MPLABu

_________________
Rudolf Veselý
Administrátor webu http://www.mcontrollers.com/ a fóra http://forum.mcontrollers.com/.
Pravidla fóra mcontrollers.com.

You can do everything in assembler, but no one wants to program in assembler anymore.
... Yukihiro Matsumoto

Rudolf Vesely on LinkedIn
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
 

 
honza3
Profesionál
Profesionál


Založen: 21.1.2008
Příspěvky: 1160
Bydliště: Přerov

PříspěvekZaslal: 21 leden 2008, 22:41    Předmět: Citovat

Díky za odpovědi.

Mám to takhle
CONFIG OSC = HS ;HS
CONFIG FCMEN = OFF ;Disabled
CONFIG IESO = OFF ;Disabled
CONFIG PWRTEN = ON ;Enabled

CONFIG BOREN = ON ;Enabled
CONFIG BORV = 42 ;4.2V
CONFIG WDTEN = OFF ;Disabled
CONFIG WINEN = OFF ;Disabled
CONFIG WDPS = 1 ;1:1
CONFIG T1OSCMX = OFF ;Active
CONFIG HPOL = LOW ;Active low
CONFIG LPOL = LOW ;Active low
CONFIG PWMPIN = OFF ;Disabled
CONFIG MCLRE = OFF ;Disabled
CONFIG STVREN = OFF ;Disabled
CONFIG LVP = ON ;Enabled
CONFIG DEBUG = ON ;Enabled
CONFIG CP0 = OFF ;Disabled
CONFIG CP1 = OFF ;Disabled
CONFIG CPB = OFF ;Disabled
CONFIG CPD = OFF ;Disabled
CONFIG WRT0 = OFF ;Disabled
CONFIG WRT1 = OFF ;Disabled
CONFIG WRTB = OFF ;Disabled
CONFIG WRTC = OFF ;Disabled
CONFIG WRTD = OFF ;Disabled
CONFIG EBTR0 = OFF ;Disabled
CONFIG EBTR1 = OFF ;Disabled
CONFIG EBTRB = OFF ;Disabled


Ale proč se mi při této konfiguraci zapíše do registru např. 07F název registru _CPD_ON_5H
A obsazených registrů v uživatelské paměti je tam víc, obsazení přesně odpovídá souboru p18f2331.inc od řádku CONFIG1H Options.
Dle mého názoru tam ještě něco chybí,ale nemůžu přijít na to CO

To tam nemá být, když je to místo pro moje registry.
Nebo se pletu?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
 

 
XiXao
Přispěvatel
Přispěvatel


Založen: 14.1.2008
Příspěvky: 25
Bydliště: Svatobořice - Mistřín

PříspěvekZaslal: 22 leden 2008, 9:01    Předmět: Citovat

Takhle to vypadá v C
#pragma config WDT = OFF, MCLRE = ON, OSC = HS, LVP = OFF
#pragma config PBADEN = OFF, PWRT = ON, BOREN = OFF, STVREN = OFF

Asm je na prd, nauč se Céčko, nic na tom není.

Smile
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
jankop
moderátor
moderátor


Založen: 24.10.2007
Příspěvky: 336
Bydliště: Brno

PříspěvekZaslal: 22 leden 2008, 11:22    Předmět: Citovat

honza3 napsal:
Ale proč se mi při této konfiguraci zapíše do registru např. 07F název registru _CPD_ON_5H
A obsazených registrů v uživatelské paměti je tam víc, obsazení přesně odpovídá souboru p18f2331.inc od řádku CONFIG1H Options.
Dle mého názoru tam ještě něco chybí,ale nemůžu přijít na to CO

To tam nemá být, když je to místo pro moje registry.
Nebo se pletu?

Pleteš se. Je to naprosto v pořádku a nic tam obsazené není. Už obrat : "zapíše do registru název registru _CPD_ON_5H" tě měl trknout. Kdyby jsi se pořádně podíval, tak s obsahem se nic neděje. Pouze se naprosto správně přiřadí symbolická návěští k adresám podle předchozích definic.

XiXao napsal:
Takhle to vypadá v C
#pragma config WDT = OFF, MCLRE = ON, OSC = HS, LVP = OFF
#pragma config PBADEN = OFF, PWRT = ON, BOREN = OFF, STVREN = OFF

Asm je na prd, nauč se Céčko, nic na tom není.

Smile

Takhle to vypadá v assembleru:
kód:
config WDT = OFF, MCLRE = ON, OSC = HS, LVP = OFF
config PBADEN = OFF, PWRT = ON, BOREN = OFF, STVREN = OFF

Kdo nezvládne assembler, tak holt musí programovat v Céčku
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
 

 
honza3
Profesionál
Profesionál


Založen: 21.1.2008
Příspěvky: 1160
Bydliště: Přerov

PříspěvekZaslal: 22 leden 2008, 16:12    Předmět: PIC18F2331 Citovat

Díky,ale je to podle mého názoru nesmysl co psal jankop.

Posilám obrázek z MPLABu

V okně File Registers jsou zmiňované registry. když vemu ten první co je vidět, _WDPS_32_2H, tak je to nastavení WDT 1:32 v nastavení CONFIG2H, což, dle mého názoru, je nastavení konfiguračních bitů a ne registrů. A to tam nemá co dělat, když adresa konfigurační paměti je 0x30000X.
A když chci registr, konkrétně 0xEB, využít,tak to nejde, protože se tam nacpal název _WDPS_32_2H, který tam nemá co dělat, když je to součást CONFIG2H.
Mám pravdu?
A ještě k Céčku. Rozhodoval jsem se mezi assemblerem a jiným, vyšším programovacím jazykem a po přečtení různých názorů zvítězil assembler.
Nikdy jsem problémy s assemblerem neměl až teď.



Bez názvu.JPG
 Komentář:

Stáhnout
 Soubor:  Bez názvu.JPG
 Velikost:  228.48 kB
 Staženo:  549 krát

Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
 

 
jankop
moderátor
moderátor


Založen: 24.10.2007
Příspěvky: 336
Bydliště: Brno

PříspěvekZaslal: 22 leden 2008, 16:45    Předmět: Re: PIC18F2331 Citovat

honza3 napsal:
Mám pravdu?

Podle mě pravdu nemáš a problém si jen vytváříš. To přiřazení symbolů je stejné i u PIC16FXXX. K dané adrese se zobrazuje Symbol Name, který byl pro danou hodnotu definován pomocí EQU jako první, ale to ti může být naprosto jedno. Ty mluvíš o nějakých hodnotách a omezeních, ale ty tam prostě nejsou. Ty si pouze domýšlíš. Co ti brání využívat registr OxEB. Vůbec nic. Chceš ho mít symbolický? Tak napiš
kód:
HATAPATA EQU OxEB
a používej v programu HATAPATA.
Pokud ho chceš vidět ve WATCH? Tak si ho tam přidej.

S tím Céčkem jsem si dělal legraci z XiXaa.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
 

 
honza3
Profesionál
Profesionál


Založen: 21.1.2008
Příspěvky: 1160
Bydliště: Přerov

PříspěvekZaslal: 22 leden 2008, 17:22    Předmět: Citovat

HATAPATA EQU OxEB nejde použít, protože je obsazen a jmenuje se pořád _WDPS_32_2H. A název _WDPS_32_2H je součást CONFIGu!!! A ne název registru. Ten název _WDPS_32_2H a ani ty ostatní tam prostě nemají co dělat! Systémové registry jsou od adresy 0XF60.Si to zkus v MPLABu. A proč to přidává názvy registrů i na 0x00,0x01 až 0x07.
A HATAPATA se lépe pamatuje než _WDPS_32_2H!! Od 0x000 do 0x2FF jsou uživatelské registry, tak nějaký _WDPS_32_2H a jemu podobné tam nemají co dělat.

A u řady 16FXXX, konkrétně, co jsem používal já, 16F877X se mi registry nikdy nepletly tam, kam nepatří. 0x00 - 0x1F system, 0x20 - 0x7F pro mě, posledních 16 přístupné ze všech bank. Nebudu vypisovat všechny banky. A tak to bylo a je, ale u PIC 18F2331 jsou asi jiná pravidla.

Až na to přijdu, tak to sem napíšu. A když na to nepřijdu, tak asi bude pravda toto "problém si jen vytvářím".

A co je lepší, C nebo ASM?
Kdo nezvládne assembler, tak holt musí programovat v Céčku
Jde to i obrátit?
Kdo nezvládne Céčko, tak holt musí programovat v assembleru?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
 

 
XiXao
Přispěvatel
Přispěvatel


Založen: 14.1.2008
Příspěvky: 25
Bydliště: Svatobořice - Mistřín

PříspěvekZaslal: 22 leden 2008, 19:14    Předmět: Citovat

Můj osobní dojem je, že assembler je dobrý programovací jazyk, nic proti tomu.
Ale v Céčku programovat je jedna báseň, protože Microchip má bohaté knihovny na všechny možné operace.
Třeba v assembléru dělat složitou matematickou operaci si nedokážu ani představit.
A efektivita programování z hotovýma knihovnama je úžasná.
Ale záleží jenom na vás co si vyberete.
Přeji hodně úspěchu Smile
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
jankop
moderátor
moderátor


Založen: 24.10.2007
Příspěvky: 336
Bydliště: Brno

PříspěvekZaslal: 22 leden 2008, 19:31    Předmět: Citovat

Mužeš definovat bezpočet symbolických jmen. Mohou být různá jména, která mají stejný obsah. Pořád tvrdíš, že vzniklá situace něčemu brání, ale to není pravda. To je jen zobrazení, hodnota obsahu se nemění. WDPS_32_2H není součástí žádného configu. Je to symbolická konstanta definovaná direktivou EQU v souboru p18f2331.inc. Můžeš si ji libovolně předefinovat. Kdybys začal psát program, tak bys zjistil, že nemáš problém. Moc to zkoumáš. Zkus si třaba tohle:

kód:
#include p18f2331.inc
HATAPATA EQU 0x7F   
    CONFIG CPD = ON ;Disabled
    END

A podívej se do File Registers na adresu 0x7F
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
 

 
honza3
Profesionál
Profesionál


Založen: 21.1.2008
Příspěvky: 1160
Bydliště: Přerov

PříspěvekZaslal: 22 leden 2008, 19:33    Předmět: PIC18F2331 Citovat

Co to je složitá matematická operace?
Já jsem zase slyšel, že Céčko neumí šetřit prostorem. A za druhé, na C jsem na netu nic nenašel, na asm je toho dost. Proto jsem začal s assemblerem.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
 

 
honza3
Profesionál
Profesionál


Založen: 21.1.2008
Příspěvky: 1160
Bydliště: Přerov

PříspěvekZaslal: 22 leden 2008, 19:41    Předmět: PIC18F2331 Citovat

Asi to fakt moc zkoumám. Jdu zkusit psát program.
Ale stejně mě štve, že to tam je Embarassed
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
 

Zobrazit příspěvky z předchozích:   
Zobrazit předchozí téma :: Zobrazit následující téma  
Přidat nové téma   Zaslat odpověď    Obsah fóra mcontrollers.com -> Microchip Časy uváděny v GMT + 2 hodiny
 
Strana 1 z 1
Přejdi na:  
Můžete přidat nové téma do tohoto fóra.
Můžete odpovídat na témata v tomto fóru.
Nemůžete upravovat své příspěvky v tomto fóru.
Nemůžete mazat své příspěvky v tomto fóru.
Nemůžete hlasovat v tomto fóru.
Můžete k příspěvkům připojovat soubory
Můžete stahovat a prohlížet přiložené soubory
 



Num Lock Holder - app to hold Numlock
Copyright © 2017 Rudolf Veselý, mcontrollers.com.
Je zakázáno používat části tohoto webu bez souhlasu autora. || Powered by phpBB © 2001, 2002 phpBB Group - with RedSquare DoubleJ(Jan Jaap)