Şimdi Ara

ccs c ile pic uygulamaları

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
3 Misafir - 3 Masaüstü
5 sn
6
Cevap
0
Favori
2.627
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • arkadaşlar merhaba visual basic ile 16f84 ebilgi göndermek istiyorum fakat ccs deyazdığım programda bi problem çıktı programdaki portb ve for döngüsündeki i tanımlanamadı diyor bilgisi olan varsa lütfen yardım etsin...

    #include <16F84A.h>
    #fuses XT,NOWDT,NOPROTECT
    #use delay(clock=4000000)
    #use rs232(baud=9600,xmit=PIN_A0,rcv=PIN_A1)
    int deg;
    void main()
    {
    set_tris_a(0xff);
    set_tris_b(0x00);
    deg=getc();
    while(1)
    if(deg=='a')
    {
    unsigned int i;
    unsigned char dizi[]={
    0xFF,0X02,0X0C,0X02,0XFF,0X00, // M
    0xFF,0x89,0x89,0x89,0x81,0x00, // E
    0xFF,0x11,0x31,0x51,0x8E,0x00, // R
    0xFF,0x10,0x10,0x10,0xFF,0x00, // H
    0xFC,0x12,0x11,0x12,0xFC,0x00, // A
    0xFF,0x89,0x89,0x89,0x76,0x00, // B
    0xFC,0x12,0x11,0x12,0xFC,0x00, // A
    0x00,0x00,0x00,0x00,0x00,0x00 // Bosluk
    };

    for(;;){
    for(i=0;i<48;i++){
    PORTB=dizi;
    delay_ms(1); // 1ms bekle
    }
    delay_ms(48); // 48ms bekle
    }
    }







  • Cde bu sekilde degisken tanimlamasi yapamazsin main fonksiyonun hemen basinda yap tanimlamani
  • ne yapmak istiyorsunuz bilmiyorum ama gördüğüm yanlışları yazayım düzeltiverin

    -unsigned int i, unsigned char dizi[] gibi değişkenleri ana program içinde tanımlayacaksanız main fonk hemen başlagıcında tanımlayım veya değişkenleri main dışına çıkarın
    -getc() fonksiyonunu
    deg=getc();
    if(deg=='a')
    şeklinde değilde
    if(getc()=='a') olarak kullanın
    -PORTB=dizi; iyi PORTB=dizi[ i ]; şeklinde düzeltin
    -while(1) sonsuz döngüsünü koymanızın amacı a karakterini yakaladıktan sonra programın devam etmesini sağlamaksa
    while(1) { if(getc()=='a') break; }
    şeklinde yazın...



    < Bu mesaj bu kişi tarafından değiştirildi r2d2droids -- 1 Haziran 2007; 9:14:37 >




  • YA SANA ZAHMET OLACAK AMA BİZ OLAYI KISACA ÖZETLEYELİM,
    AMACIMIZ VİSUAL BASİC DEN SERİ PORT İLE PİC İN İÇERİSİNDEKİ YAZILAN YAZIYIN DEĞİŞTİRMEK( HAVADA DC MOTORUN TEPESİNDE 8 SIRA LEDİMİZ WAR MOTORU SÜREWREK BU 8 LEDLE HAVADA YAZI YAZZAYI AMAÇLIYORUZ VİSUAL BASİC DEN ÖRNEĞİN 'A' HARFİ GELDİĞİNDE 'MERHABA' BİR 'B' GELDİĞİNDE BAŞA Bİ KELİME YAZMASINI STİYORUZ NORMALDE PİC-C DE BU KODLAR İLE MERHABA YAZISINI YAZDIRABİLİYOERUZ FAKAT CCSC KULLANMADIĞIMIZ İÇİN KOMUTLAR NASIL UYARLANIR BİLMİYORUZ,KISACASI VİSUAL BASİC TEKİ HERHANGİ BİR COMMAND BUTONUN TIKLANDIĞI ZAMAN COMMAND BUTOONU ÜZERİNDEKİ YAZIYI DC MOTORU ÇEWİREREK HAVADA YAZI ŞEKLİNDE GÖRMEYİ AMAÇLAIYRORUZ( VİSUAL BASİC DE COMMAND BUTONUNA CLİCK YAPINCA SERİ PORTTAN BİR A HARFİ GİTSİN VE BU A HARFİ PROGRAMIN İŞLEYİŞİNİ DEĞİŞTİREREK İLGİLİ KELİMEYİ 8 LEDDE GÖSTERSİN

    P.S. VERİYİ GÖNDERDİKTEN SONRA SERİ PORTU DEWREDEN AYIRIYORUZ ÇÜNKÜ PİCLİ KISIM DÖNEN KISIMDA,YANİ VERİYİ BİR KEZ YOLLADIĞIMIZDA KABLO YU ÇIKARDIĞIMIZDA DAHİ AYNI BİLGİNİN PİC İÇERİSİNDE KALMASINI İSTİYORUZ

    YARDIM EDERSENİZ ÇOK SEVİNİRİZ,ŞİMDİDEN TEŞEKKÜRLER




  • Koddaki bir yanlışlıkda deg değişkeninin türü.int olarak tanımlamıssın ama karakter almaya çalışıyosun. deg i tanımlarken int yerine char yazmalısın.
  • ateso8634
    int getc ( FILE * stream );
    getc fonksiyonunun geri dönüşü int dır aslında. bu bir hata değil. int değişkenine karakter yazılabilir tek sorun haddinden fazla bellek işgal etmesi olacaktır.

    hknztrk
    CCS C bende bilmiyorum.
    http://www.ccsinfo.com/downloads/ccs_c_manual.pdf
    adresindeki manualine göre getc fonk ( sayfa 145 ) doğru kullanıyorsunuz. tek yapmanız gereken anlattıklarınıza göre merhaba yazan dizi ye ek olarak 2. bir dizi daha tanımlamak programın başında tabi.
    mesela
    //gerekli tanımlamalar
    //gerekli değişkenler

    dizi1[]={............};
    dizi2[]={............};

    void main(void)
    {
    //gerekli ifadeler
    switch (getc()){
    case a:
    for(;;){
    for(i=0;i<48;i++){
    PORTB=dizi1[ i ];
    delay_ms(1); // 1ms bekle
    }
    delay_ms(48); // 48ms bekle
    }

    break;

    case b:
    for(;;){
    for(i=0;i<48;i++){
    PORTB=dizi2[ i ];
    delay_ms(1); // 1ms bekle
    }
    delay_ms(48); // 48ms bekle
    }
    break;
    }

    }

    gibi...




  • Yapay Zeka’dan İlgili Konular
    C programlama
    5 yıl önce açıldı
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.