-         

Ergebnis 1 bis 7 von 7

Thema: HI-TECH PICC-18 Config bei 18F6520

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied Avatar von pointhi
    Registriert seit
    18.03.2009
    Alter
    22
    Beiträge
    139

    Frage HI-TECH PICC-18 Config bei 18F6520

    Anzeige

    Hy, ich proggge gerade an meinem neuesten selbstgemachten board und würde wie bei den früheren projekten die Config im C-Programmn setzen. Das problem ist nur dass im gegensatz zu den 16Fxxx die 18Fxxx reihe sehr viele einstellungsmöglichkeiten haben. Bei manchen weiß ich nicht mal was sie genau tun.

    Beim PICC-18 werden die config nach dem was ich gelesen habe so eingestellt:

    Code:
    __CONFIG(1,OSC_HSPLL & FCMEN_OFF & IESO_OFF );
    __CONFIG(2,PWRT_ON & BOREN_BOACTIVE & BORV_2);
    __CONFIG(3,WDT_OFF);
    __CONFIG(4,PBADEN_OFF & LPT1OSC_OFF & MCLRE_OFF);
    (Bsp. muss nicht richtig sein, ist das was ich für den 18F2580 mal zusammengeschrieben hatte, aber dan deaktiviert habe.)

    Man sieht das nach __CONFIG( eine zahl kommt, und das ist genau das problem bei mir. 1 ist noch klar, Das sollte CONFIG1H sein,
    2 könnte CONFIG2L, CONFIG2H oder beide zusammen sein, und so geht es bis CONFIG7H weiter. Wenn ich irgendwie die config words im HEX überprüfen könnte wäre es kein problem, aber ich hab kein tool dafür gefunden.

    habt ihr eine idee was richtig wäre?

    mfg. pointhi
    Theorie ist, wenn man alles weiß, aber nichts funktioniert.
    Praxis ist, wenn alles funktioniert, aber niemand weiß warum.
    Microsoft hat Theorie und Praxis vereint: Nichts funktioniert und keiner weiß warum!
    Deshalb nutze ich Linux für die wichtigen sachen

    Meine Website: www.oe5tpo.com

  2. #2
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.970
    Hallo!

    Um ein 18F... PIC richtig zu konfigurieren, sollte man sich entsprechende *.inc Datei anschauen und nur dort enthaltene Direktiven anwenden.

    Geprüftes Beispiel:
    Code:
    	LIST      P=18F252
    	include "P18F252.inc"
    	CONFIG OSCS=OFF,OSC=HSPLL, PWRT=ON, BOR=OFF, WDT=OFF, CCP2MUX=OFF, STVR=OFF, LVP=OFF, DEBUG=OFF
    	CONFIG CP0=OFF,CP1=OFF,CP2=OFF,CP3=OFF,CPB=OFF,CPD=OFF,WRT0=OFF,WRT1=OFF,WRT2=OFF,WRT3=OFF
    	CONFIG WRTB=OFF,WRTC=OFF,WRTD=OFF,EBTR0=OFF,EBTR1=OFF,EBTR2=OFF,EBTR3=OFF,EBTRB=OFF
    Geändert von PICture (28.01.2012 um 15:26 Uhr)
    MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied Avatar von pointhi
    Registriert seit
    18.03.2009
    Alter
    22
    Beiträge
    139
    Danke, das ist aber assembler und ich habs gerade nicht wirklich zum laufen gebracht, auserdem würde ich gerne die enthaltene __CONFIG anweisung nutzen. Die dazugehörigen direktiven lese ich immer aus den entsprechendem .h File des PICs heraus.

    Beispiel was für die config in der include steht (nur ein bruchteil davon)

    Code:
    // Config Register: CONFIG1H
    // Oscillator Selection bits
    // RC oscillator w/ OSC2 configured as RA6
    #define OSC_RCIO             0xFFFF 
    // HS oscillator with PLL enabled; clock frequency = (4 x FOSC)
    #define OSC_HSPLL            0xFEFF 
    // EC oscillator w/ OSC2 configured as RA6
    #define OSC_ECIO             0xFDFF 
    // EC oscillator w/ OSC2 configured as divide-by-4 clock output
    #define OSC_EC               0xFCFF 
    // RC oscillator w/ OSC2 configured as divide-by-4 clock output
    #define OSC_RC               0xFBFF 
    // HS oscillator
    #define OSC_HS               0xFAFF 
    // XT oscillator
    #define OSC_XT               0xF9FF 
    // LP oscillator
    #define OSC_LP               0xF8FF 
    // Oscillator System Clock Switch Enable bit
    // Oscillator system clock switch option is disabled (main oscillator is source)
    #define OSCS_OFF             0xFFFF 
    // Timer1 Oscillator system clock switch option is enabled (oscillator switching is enabled)
    #define OSCS_ON              0xDFFF 
    
    
    // Config Register: CONFIG2L
    // Power-up Timer Enable bit
    // PWRT disabled
    #define PWRT_OFF             0xFFFF 
    // PWRT enabled
    #define PWRT_ON              0xFFFE 
    // Brown-out Reset Enable bit
    // Brown-out Reset enabled
    #define BOR_ON               0xFFFF 
    // Brown-out Reset disabled
    #define BOR_OFF              0xFFFD 
    // Brown-out Reset Voltage bits
    // VBOR set to 2.5V
    #define BORV_25              0xFFFF 
    // VBOR set to 2.7V
    #define BORV_27              0xFFFB 
    // VBOR set to 4.2V
    #define BORV_42              0xFFF7 
    // VBOR set to 4.5V
    #define BORV_45              0xFFF3
    EDIT:

    mein Lehrer hat mir den link geschickt: http://ww1.microchip.com/downloads/e...efinitions.pdf
    nach dem was dort als example steht und nach abgleich mit meinen includefiles muss ich z.b. CONFIG2L und CONFIG2H zusammen in ein __CONFIG schreiben. Leider sind die include-befehle beim beispiel schon veraltet, die meisten direktiven heißen jetzt anders. Aber mal probieren

    mfg. pointhi
    Geändert von pointhi (28.01.2012 um 15:55 Uhr)
    Theorie ist, wenn man alles weiß, aber nichts funktioniert.
    Praxis ist, wenn alles funktioniert, aber niemand weiß warum.
    Microsoft hat Theorie und Praxis vereint: Nichts funktioniert und keiner weiß warum!
    Deshalb nutze ich Linux für die wichtigen sachen

    Meine Website: www.oe5tpo.com

  4. #4
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.970
    Zitat Zitat von pointhi Beitrag anzeigen
    Leider sind die include-befehle beim beispiel schon veraltet, die meisten direktiven heißen jetzt anders. Aber mal probieren
    Die Direktiven funktionieren bei mir immernoch anwandfrei, dein PIC braucht sie aber aus aktueller für ihn *.inc Datei.
    MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied Avatar von pointhi
    Registriert seit
    18.03.2009
    Alter
    22
    Beiträge
    139
    config sollte passen, hier das was ich geschrieben habe:

    Code:
    __CONFIG(1, OSC_HSPLL & OSCS_OFF );
    __CONFIG(2, PWRT_ON & BOR_ON & BORV_42 & WDT_OFF);
    __CONFIG(3, CCP2MUX_ON);
    __CONFIG(4, STVR_OFF & LVP_OFF  & DEBUG_OFF );
    __CONFIG(5, CP0_OFF & CP1_OFF & CP2_OFF & CP3_OFF & CPB_OFF & CPD_OFF);
    __CONFIG(6, WRT0_OFF & WRT1_OFF & WRT2_OFF & WRT3_OFF & WRTC_OFF & WRTB_OFF & WRTD_OFF );
    __CONFIG(7, EBTR0_OFF & EBTR1_OFF & EBTR2_OFF & EBTR3_OFF & EBTRB_OFF);
    Unklare directiven, bzw. deren benutzung:

    OSCS_OFF Oscillator System Clock Switch Enable bit Kann ich da manuell umschalten oder ist das eine failsaife funktion wenn ich sie aktiviert habe?

    STVR_OFF Stack Full/Underflow Reset Enable bit Reset verstehe ich, aber wann Reset der controller, bzw. vor was schützt dieses bit?

    Der Brenner brennt alles korrekt rein, aber es kommen 3 ERRORS nach dem brennen:

    Der Output von UsBurn V1.11 a5


    Code:
    -- HEX-file re-loaded
    -- HEX-file contains Config-data
    
    Erase PIC -finished
    Start to program FLASH - ok
    Start to program ID - ok
    Start write Configuration## 3 error(s)
    Auf der seite von sprut steht das die errors normal sind wenn keine config files im hex enthalten sind, daher hab ich mir vorher nicht gewundert, aber jetzt frage ich mir was das problem sein könnte.

    mfg. pointhi
    Theorie ist, wenn man alles weiß, aber nichts funktioniert.
    Praxis ist, wenn alles funktioniert, aber niemand weiß warum.
    Microsoft hat Theorie und Praxis vereint: Nichts funktioniert und keiner weiß warum!
    Deshalb nutze ich Linux für die wichtigen sachen

    Meine Website: www.oe5tpo.com

  6. #6
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.970
    Sorry, aber dein PIC kenne ich gar nicht und kann nicht weiterhelfen.
    MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied Avatar von pointhi
    Registriert seit
    18.03.2009
    Alter
    22
    Beiträge
    139
    hat wohl den grund dass es den nur im nervigen SMD gehäuse gibt, hatte mit ihm schon probleme wegen dem Layout 64 Pin auf TQFP . Aber mit der neuen Platine Passts.

    NACHTRAG:

    Achso, das meinst du , ist ein 18F6520, steht aber auch im Titel
    Theorie ist, wenn man alles weiß, aber nichts funktioniert.
    Praxis ist, wenn alles funktioniert, aber niemand weiß warum.
    Microsoft hat Theorie und Praxis vereint: Nichts funktioniert und keiner weiß warum!
    Deshalb nutze ich Linux für die wichtigen sachen

    Meine Website: www.oe5tpo.com

Ähnliche Themen

  1. Hi-Tech C-Compiler Stürzt ab bei Interrupt (PIC16F689)
    Von Jango1987 im Forum PIC Controller
    Antworten: 0
    Letzter Beitrag: 08.05.2010, 13:46
  2. config ADC
    Von feitzi im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 1
    Letzter Beitrag: 18.03.2008, 16:40
  3. AVR Tech. Daten-Tabelle?
    Von Jaecko im Forum AVR Hardwarethemen
    Antworten: 3
    Letzter Beitrag: 19.03.2007, 08:46
  4. V-Tech
    Von bjoerndn im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 0
    Letzter Beitrag: 05.04.2006, 13:01
  5. PICC-Programmer und Experimentierkasten von Conrad
    Von Taucher im Forum PIC Controller
    Antworten: 7
    Letzter Beitrag: 30.06.2005, 00:17

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •