Aller au contenu. | Aller à la navigation

Outils personnels
Se connecter
Mes Idées Peuvent Surgir
Million d'Instructions Par Seconde
Mes Inventions Pour la Semaine
Milliers d'Inventions Paloises de la Semaine
Mecs Impatients et Présomptueux S'abstenir

Navigation

Vous êtes ici : Accueil / Membres / Michel DE BARROS LIMA / Interupteur Bluetooth commandé par smartphone / Programme Inter_Blutooth réalisé sous mikroC

Programme Inter_Blutooth réalisé sous mikroC

C source code icon Prog_Inter_Blutooth.c — C source code, 2 kB (2335 bytes)

Contenu du fichier

char Reception_Blutooth;
char initialisation_ok;
sbit Relay          at PORTC.B0;       //Le Relay est cabl� physiquement sur la le bit RC0 du port C
sbit Led            at PORTA.B1;        //La Led est cabl�e physiquement sur le bit RA1 du port A.LATA Led sert � faire des tests de debug
                                        //lors de la programmation.


/////////Programme d'interuption//////////////////////////////////
void interrupt()
    {
     if (PIR1.RCIF==1)     //si le flag reception est debout
          {

          if (UART1_Data_Ready() == 1)    //UART1 utilise le rx du micro pin10 du 16f690.
             {
              //Relay=1;
                    if(  UART1_Read()!=0)
                            {
                             //Led=1;
                            Reception_Blutooth = UART1_Read();   //stocke les donn�es du buffer et les inscrit dans la variable Reception_Blutooth
                            //initialisation_ok=1; //flag indiquant que le module RC05 recoit actuelement un caract�re.
                            }
             }
          }

           PIR1.RCIF=0;
     }


void main() 
{
OSCCON=0b01110110;
INTCON.GIE = 1;       //autorise les interuptions (global intrupt enable)
INTCON.T0IE=1;//indique autorisation interuption par overflow
//INTCON.PEIE = 1;     //  peripheral interupt enable
PIE1.RCIE = 1; //enable interrupt reception.
UART1_Init(9600);      //configuration de vitesse transmission liaison serie
ANSEL  = 0;                        // Configure AN pins as digital I/O
ANSELH = 0;
C1ON_bit = 0;                      // Disable comparators
C2ON_bit = 0;
PORTA.B1=0; //PORTA definit en sortie
TRISA.B1=0; //toutes les soties du PORTA sont � 0v
PORTC.B0=0; //PORTC definit en sortie
TRISC.B0=0;  //toutes les soties du PORTC sont � 0v

ANSEL=0;  // on n'utilise pas les voies analogiques
ANSELH=0;

  while(1)
  {
    if (UART1_Read()=='A')
    {
     Relay=1;
    }
    if (UART1_Read()=='B')
    {
     Relay=0;
    }
    if(Reception_Blutooth == 0x01 )
    {
    //Relay=1;    //on active le relay
    LED=1;
    }
    if(Reception_Blutooth == 0x00 )        //dans tous les autres cas
    {
    LED=0;
    //Relay=0;     // Le Relay est desactiv�
    }
    //initialisation_ok=0;
   
   
  }
}