#pragma config FOSC = HSPLL_HS //high-speed crystal resonator #pragma config CPUDIV = OSC1_PLL2 #pragma config PLLDIV = 3 //PLLDIV = 2 => 4MHz intern #pragma config IESO = OFF //Internal OSC switch over bit #pragma config BOR = OFF //Brown Out Detection #pragma config WDT = OFF //Watch Dog Timer #pragma config PWRT = OFF //Power Up Timer #pragma config LVP = OFF //Low Voltage Programming #pragma config MCLRE = ON #pragma config PBADEN = OFF //PORTB RB4..RB0 #include #include #include #include #include #include #include #include void init_pic(void) { TRISCbits.TRISC0 = 0; LATCbits.LATC0 = 1; //power LED einschalten TRISBbits.TRISB1 = 0; //RB1 Ausgang TRISBbits.TRISB5 = 0; //RB5 Ausgang TRISBbits.TRISB4 = 1; //RB4 Eingang TRISBbits.TRISB3 = 0; //RB3 Ausgang TRISAbits.TRISA0 = 0; //RC4 Ausgang TRISAbits.TRISA1 = 0; //RC7 Ausgang UCONbits.USBEN = 0; //USB Modul disable UCFGbits.UTRDIS = 1; SSPCON1bits.SSPEN = 0; /*** USART Schnittstelle aktivieren ***/ RCSTAbits.SPEN = 1; // Serial Interface enable TRISCbits.TRISC6 = 1; // Set RC6 as RX TRISCbits.TRISC7 = 1; // Set RC7 as TX OpenUSART( USART_TX_INT_OFF & //description in usart.h USART_RX_INT_OFF & USART_BRGH_LOW & USART_SINGLE_RX & USART_ASYNCH_MODE & USART_ADDEN_OFF & BAUD_8_BIT_RATE, 155 ); //SPBRG für baud=19200, (s.241) /**** Interrupt konfiguration ***/ INTCONbits.GIE = 0; // Interrupts generell erlauben = 1 INTCONbits.RBIF = 0; // Interrupt on Change Flag aus INTCONbits.RBIE = 1; // Interrupt on Change an den PINs // PORTB(7:4) RCONbits.IPEN = 0; // Interrupt Priority off sckout = 0; syncout = 0; d_out = 0; // OSCCON = 0xfC; } void main(void) { // short int ausgabe unsigned char i=0; init_pic(); //initialisierung des µC aufrufen // ausgabe = 0x3FFF; while(1) { putsUSART('hallo'); for(i=0; i<=200; i++) Delay10KTCYx(255); //dac(&ausgabe); } }