Aşağıdaki kodarı Ccs c ye çevirdim hata veriyor.

Başlatan proxrth, 21 Mart 2012, 14:37:23

proxrth

Evet arkadaşlar aşağıdaki kodları ccs c ye çevirmem lazım , uğraşmama rağmen bilmediğim komutlar olmasından dolayı tam olarak çeviremedim kodları yardım ederseniz sevinirim.
Öreğin Usart komutu nedir ne işe yarar bunları bilmediğim için tıkandım kaldım çevirmeye çalışırken :S

CCs c ye çevirmem gereken kodlar ;
#include <16f628A.h>
#define isik1  porta.f1
#define isik2  porta.f3
#define isik3  porta.f4
#define tit    portb.f3
#define dur Button(portb,0,50,0)

int i=0,j,a;
char msg[6];

void kur()
{
 cmcon=7;
 trisa=0;
 porta.f4=1;
 option_reg.f7=0;
 trisb=0b00000011;
 usart_init(2400);
 Lcd_Custom_Config(&PORTB,4,5,6,7,&PORTA,0,1,2);
 lcd_Custom_cmd(LCD_CURSOR_OFF);
 tit=0;
 //isik1=0;


}

void main()
{
kur();
lcd_custom_out(1,1,"armut");
lcd_custom_out(2,1,"TEKNOLOJI");

delay_ms(2000);

lcd_custom_cmd(lcd_clear);
delay_ms(500);

lcd_custom_out(1,1,"TEKNO");
lcd_custom_out(2,1,"KULAK");

porta.f1=1;
porta.f3=1;
porta.f4=0;
delay_ms(500);
porta.f1=0;
porta.f3=0;
porta.f4=1;
//
delay_ms(500);

porta.f1=1;
porta.f3=1;
porta.f4=0;
delay_ms(500);
porta.f1=0;
porta.f3=0;
porta.f4=1;
//
delay_ms(500);

porta.f1=1;
porta.f3=1;
porta.f4=0;
delay_ms(500);
porta.f1=0;
porta.f3=0;
porta.f4=1;

delay_ms(1000);
lcd_custom_cmd(lcd_clear);


 while(1)
         {

          if(Usart_Data_Ready())
             {
              msg[i]=Usart_Read();
              i++;
             }
          if(i==3)
          {

           i=0;
           if(msg[0]=='Z' && msg[1]=='I' && msg[2]=='L')
             {
              Lcd_Custom_Out(1, 1, "KAPI ");
              Lcd_Custom_Out(2, 1,"CALIYOR");
              while(!dur)
              {
               isik1=0;
               tit=0;
               delay_ms(300);
               tit=1;
               isik1=1;
               delay_ms(500);
              }
              Lcd_Custom_Cmd(Lcd_Clear);
              tit=0;
              isik1=0;


              }

            if(msg[0]=='B'&& msg[1]=='E'&& msg[2]=='B')
            {
            lcd_custom_out(1,1, "BEBEK ");
            lcd_custom_out(2,1, "AGLIYOR!");
            while(!dur)
            {
             isik2=0;
             tit=0;
             delay_ms(300);
             tit=1;
             isik2=1;
             delay_ms(500);
            }
            lcd_custom_cmd(lcd_clear);

            tit=0;
            isik2=0;
            }



          if(msg[0]=='G' && msg[1]=='A' && msg[2]=='Z')
          {
          Lcd_Custom_Out(1,1,"GAZ ") ;
          Lcd_Custom_Out(2,1,"KACAGI!") ;
          while(!dur)
          {
           isik3=1;
           tit=0;
           delay_ms(300);
           tit=1;
           isik3=0;
           delay_ms(500);
          }
          lcd_custom_cmd(lcd_clear);
          tit=0;
          isik3=1;
         }
       }
 }
}


Buda benim çevirdiğim fakat çalışmayan kodlar ;
#include <16f628A.h>
#define isik1  pin_A1
#define isik2  pin_A3
#define isik3  pin_A4
#define tit    pin_B1
#define dur Button(portb,0,50,0)
 #define use_portb_lcd TRUE
#include <lcd.c>
int i=0,j,a;
char msg[6];

void kur()
{
 
 set_tris_a(0x00);
 output_high(pin_a4);
 
 set_tris_b(0b00000011);
 usart_init (2400);
 

 tit==0;
 isik1==0;


}

void main()
{
kur();
printf(lcd_putc,"/f  armut");
printf(lcd_putc,"/f  teknoloji");

delay_ms(2000);
printf(lcd_putc,"/f );

delay_ms(500);

printf(lcd_putc,"/f tekno");

printf(lcd_putc,"/n kulak");

output_high(pin_a1);
output_high(pin_a3);
output_low(pin_a4);
delay_ms(500);
output_low(pin_a1);
output_low(pin_a3);
output_high(pin_a4);

delay_ms(500);

output_high(pin_a1);
output_high(pin_a3);
output_low(pin_a4);
delay_ms(500);
output_low(pin_a1);
output_low(pin_a3);
output_high(pin_a4);

delay_ms(500);

output_high(pin_a1);
output_high(pin_a3);
output_low(pin_a4);
delay_ms(500);
output_low(pin_a1);
output_low(pin_a3);
output_high(pin_a4);

delay_ms(1000);
printf(lcd_putc, "/f" );


 while(1)
         {

          if(Usart_Data_Ready())
             {
              msg[i]=Usart_Read();
              i++;
             }
          if(i==3)
          {

           i=0;
           if(msg[0]=='Z' && msg[1]=='I' && msg[2]=='L')
             {
              printf(lcd_putc,"/f kapi");
              printf(lcd_putc,"/f tekno");
              while(!dur)
              {
               isik1=0;
               tit=0;
               delay_ms(300);
               tit=1;
               isik1=1;
               delay_ms(500);
              }
              printf(lcd_putc,"/f ");;
              tit=0;
              isik1=0;


              }

            if(msg[0]=='B'&& msg[1]=='E'&& msg[2]=='B')
            {
            printf(lcd_putc,"/f bebek");
            printf(lcd_putc,"/f agliyoor");
            while(!dur)
            {
             isik2=0;
             tit=0;
             delay_ms(300);
             tit=1;
             isik2=1;
             delay_ms(500);
            }
            printf(lcd_putc,"/f ");

            tit=0;
            isik2=0;
            }



          if(msg[0]=='G' && msg[1]=='A' && msg[2]=='Z')
          {
          printf(lcd_putc,"/f gaz ");
          printf(lcd_putc,"/f kacagi");
          while(!dur)
          {
           isik3=1;
           tit=0;
           delay_ms(300);
           tit=1;
           isik3=0;
           delay_ms(500);
          }
          printf(lcd_putc,"/f");
          tit=0;
          isik3=1;
         }
       }
 }
}

Not : Bu kodlar bir devrenin alıcı devre kodlarıdır.
İlginiz için şimdiden teşekkürler.

skara1214

bilmediğin komutları yaz onları çevirelim mesela usart(2400); demek rs232 haberleşmesi yapılacağını ve bununda baud ratinin 2400 olacağını söylüyor ccs c nin manuelinde rs232 yazıp çıkan kodda buna göre derleme yapacaksın
Herkes ölür ama herkes gerçekten yaşamaz

proxrth

Lcd_Custom_Config(&PORTB,4,5,6,7,&PORTA,0,1,2);// bunlar galiba lcdye bağlncak pinler ama ccs c nasıl yazmayalıyım.

cd_Custom_cmd(LCD_CURSOR_OFF);

#define dur Button(portb,0,50,0) ; //burdaki '50' ne acaba ?

if(Usart_Data_Ready()) // burdan hata alıyorum.data yı oku ama ccs c de bunu nasıl yapabilirim

msg=Usart_Read();

(atx-34  arx-34 ile yapılacak olan duyma özürlüler için hayatı kolaylaştırmayı hedefleyen bir proje)
Atıyorum ccs c dilinde kapı çaldığı anda bilgiyi nasıl gönderebilirim duyma özürlünün yanında bulunan alıcı devreye.
Yardımlarınızı bekliyorum ..Teşekkürler.

proxrth

Bişeyler buldum da eksiklerim var.
#use rs232(baud=1200, xmit=PIN_c6, rcv=PIN_c7,stop=1,ipairty=N);// örn. burada iletişim hızı ,veri gönderme ucu,veri alma ucu,stop bitinin 1 olduğu,eşik bitinin olmayacağı belirtilmiş.
Örn. Benim alıcı devremde veri gönderme ucu olacakmı stop biti ve eşik biti olması gerekir mi bunla nedir?
Ben böyle yaptım.
#use rs232(baud=2400, rcv=PIN_B1);// iletişim hızı ve veri alma pinini belirttim.
Birde #INT_RDA kesmesi olması lazım galiba bunlar hakkında bilgiye ihtiyacım var.  :-\
Teşekkürler.