Haberler:

Eposta uyarılarını yanıtlamayınız ( ! ) https://bit.ly/2J7yi0d

Ana Menü

rf çift yön

Başlatan barut, 25 Haziran 2014, 03:54:41

barut

verici
#define BUTON button(&GPIOA_IDR,0,200,1)
#define BUTON1 button(&GPIOA_IDR,1,200,1)
char veri[3]={'m','t','t'};
char ver[2]={'y','s'};
char gelen;
int i;
void main() {
             GPIO_Digital_Input(&GPIOA_IDR,_GPIO_PINMASK_0|_GPIO_PINMASK_1);
             GPIO_Digital_Output(&GPIOD_ODR,_GPIO_PINMASK_12| _GPIO_PINMASK_13|_GPIO_PINMASK_14|_GPIO_PINMASK_15);
             UART1_Init(600);
             UART1_Init_Advanced(600,_UART_8_BIT_DATA,_UART_NOPARITY,_UART_ONE_STOPBIT,&_GPIO_MODULE_USART1_PA9_10);

             while(1)
             {
               gelen=UART1_Read();
              if(gelen=='y')
             {
             GPIOD_ODR.B14=0;;
             }
              if(gelen=='s')
             {
             GPIOD_ODR.B14=0;;
             }
             
             
             if(BUTON1)
             {
                GPIOD_ODR.B12=1;
                for(i=0;i<3;i++)
                {
                UART1_Write(veri[i]);
                GPIOD_ODR.B15=1;
                }
                UART1_Write(ver[0]);

             }
              if(BUTON)
             {
                GPIOD_ODR.B13=1;
                for(i=0;i<3;i++)
                {
                UART1_Write(veri[i]);
                GPIOD_ODR.B15=1;
                }
                UART1_Write(ver[1]);
             }



             }
}

alıcı
void main() {
char veri[6],i=0;
char gelen='y',gelen2='s';

GPIO_Digital_Output(&GPIOD_ODR,_GPIO_PINMASK_12|_GPIO_PINMASK_13|_GPIO_PINMASK_14|_GPIO_PINMASK_15);
UART1_Init(600);
UART1_Init_Advanced(600,_UART_8_BIT_DATA,_UART_NOPARITY,_UART_ONE_STOPBIT,&_GPIO_MODULE_USART1_PA9_10);


while(1)
{

veri[i]=UART1_Read();
if(veri[0]=='m')
 {
   i++;
   GPIOD_ODR.B14=1;
 }
 if(veri[1]=='t'&&veri[2]=='t')
 {
     GPIOD_ODR.B13=1;
     i=0;
     gelen=UART1_Read();
     if(gelen=='y')
     {
         GPIOD_ODR.B12=1;
         GPIOD_ODR.B15=0;
         UART1_Write(gelen);

     }
       if(gelen=='s')
     {
         GPIOD_ODR.B12=0;
         GPIOD_ODR.B15=1;
         UART1_Write(gelen2);

     }
 }
}
}


eğer verici de bulunan UART1_Read() kısmını silersem tek yönlü olarak çalışıor fakat ekleyince hiçbir türlü çalışmıyor.yardımcı olursanız sevinirim.