Forum: Mikrocontroller und Digitale Elektronik Config PIC18F258 in C


von Patrick E. (f4550tim)


Lesenswert?

Hallo,
ich würde gerne wissen, wie es Syntaxmäsig richtig geschrieben wird, 
denn ich bekomme da einen Fehler beim Compilen:

void main(void)
{
   CONFIG4L=0b10000101; << Ist das da richtig, und an der richtigen 
Stelle ?
   TRISC = 0;
    OpenUSART(USART_TX_INT_OFF & USART_RX_INT_OFF & USART_ASYNCH_MODE & 
USART_EIGHT_BIT &   USART_CONT_RX & USART_BRGH_LOW, 103);
}


Lg
Tim

von holger (Gast)


Lesenswert?

>ich würde gerne wissen, wie es Syntaxmäsig richtig geschrieben wird,

Dann lies das Users Guide.

von Marcus (Gast)


Lesenswert?

Hallo Tim,

Die ConfigurationBits werden, falls Du den C18 verwendest (wovon ich 
ausgehe ) mit

#pragma gesetzt.

z.B.
// Power-On Timer On
#pragma config PWRT = ON


Ob man die entsprechenden Flags straight through als Bitvector setzen 
kann weiss ich nicht; macht m. E. auch nciht wirklich Sinn; nicht 
lesbar.

Viele Grüße,
Marcus

von Mick M. (highlow)


Lesenswert?

man kann, macht aber in der Tat keinen Sinn.

von Tim (Gast)


Lesenswert?

Ok, danke erstmal. So sieht mein TestProgramm aus:

#include <p18f258.h>
#include <delays.h>
#include <usart.h>


#pragma config OSC =  HS    // Oscillator Art zwischen 4MHz - 20MHz
#pragma config PWRT = ON     // AN
#pragma config BOR = OFF     // Brown out Reset
#pragma config WDT = OFF      // Watch Dog AUS
#pragma config LVP = OFF      // LOW Voltage Prog.
#pragma code


void main(void)
{
   TRISC = 0;
    OpenUSART(USART_TX_INT_OFF & USART_RX_INT_OFF & USART_ASYNCH_MODE & 
USART_EIGHT_BIT & USART_CONT_RX & USART_BRGH_LOW, 103);



   while(1)
   {
         putrsUSART( "Hello World!" );
         Delay10KTCYx(200);
   }
}


Und da muss irgendwo noch "CONFIG4L=0b10000101;" rein. Soll das oben mit 
#pragma eingefügt werden ? Oder soll ich die einzelnen Bits im Register 
CONFIG4L wie oben mit #pragma config... = 1; setzen ?

Lg Tim

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.