PIC16F688mitBluetooth.c

#include <xc.h>   // wegen MPLABX
#pragma config FOSC = INTOSCCLK // Oscillator Selection bits (INTOSC oscillator)
#pragma config WDTE = OFF       // Watchdog Timer Enable bit (WDT disabled)
#pragma config PWRTE = OFF      // Power-up Timer Enable bit (PWRT disabled)
#pragma config MCLRE = ON       // MCLR Pin Function Select bit
//(MCLR pin function is MCLR)
#pragma config CP = OFF         // Code Protection bit
//(Program memory code protection is disabled)
#pragma config CPD = OFF        // Data Code Protection bit
//(Data memory code protection is disabled)
#pragma config BOREN = OFF      // Brown Out Detect (BOR disabled)
#pragma config IESO = OFF       // Internal External Switchover bit
//(Internal External Switchover mode is disabled)
#pragma config FCMEN = OFF      // Fail-Safe Clock Monitor Enabled bit
//(Fail-Safe Clock Monitor is disabled)
#define _XTAL_FREQ 8000000      // to calibrate __delay_us() and __delay_ms()
void main(void)
{
    ANSEL = 0;                    // alle Pins mit analog Option gehen so auf i/o
    TRISC = 0b00110000;   // RC4 und RC5 müssen input sein wegen UART
    PORTC = 0;
    OSCCON = 0b01110000;     // 8MHz interne Oszi-Frequenz
    BRG16 = 1;
    BRGH = 1;
    SPBRG = 16;     //  Baud-Rate 115200
    CREN = 1;         // schaltet RX ein
    TXEN = 1;         // diese 3 Werte schalten
    SYNC = 0;        // den Sender
    SPEN = 1;       // ein
    unsigned char zeichen =0x6c ;
    for(int i=0;i<4;i++)   // nach dem Einschalten 4 Blinks als Lebenszeichen
    {
        RC3 = 0;
        __delay_ms(200);
        RC3 = 1;
        __delay_ms(200);
    }                                    // Ende  4 Blinks
while (1){
        if(RCIF)    // Flag (Fähnchen) zeigt an: „Es wurde was empfangen“
            zeichen = RCREG;  // RCREG enthält das empfangene BYTE
        SPEN = 0;
        SPEN = 1;// Haupt-aus-ein soll Errors löschen
         if (zeichen == 0x61)
               RC3 = 1;  // kleines a schaltet von Dauerlicht auf Blinklicht
         __delay_ms(600);
         RC3 = 0;
         __delay_ms(600);
    }
}

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.