Şimdi Ara

ccs c pic hatası

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir (1 Mobil) - 1 Masaüstü1 Mobil
5 sn
11
Cevap
0
Favori
917
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Aşağıda verdiğim kodda program "else" komutunun olduğu satırda hata veriyor. A numeric expression must be appear diye. Buradai hata nedir? Yapmaya çalıştığım d0 pinine bağlı butona basıldığında step motorun tersine dönmeye başlaması.



    void main()
    {
    setup_adc_ports(NO_ANALOGS);
    setup_adc(ADC_OFF);
    setup_psp(PSP_DISABLED);
    setup_spi(SPI_SS_DISABLED);
    setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
    setup_timer_1(T1_DISABLED);
    setup_timer_2(T2_DISABLED,0,1);

    // TODO: USER CODE!!
    set_tris_b(0b00000000);
    output_b(0b00000000);
    set_tris_d(0b00000001);
    output_d(0b00000000);


    while(1)
    {
    if (PIN_d0==0x00);
    {
    output_b(0b00000001);
    delay_ms(100);
    output_b(0x02);
    delay_ms(100);
    output_b(0x04);
    delay_ms(100);
    output_b(0x08);
    delay_ms(100);
    else
    output_b(0b00001000);
    delay_ms(100);
    output_b(0b00000100);
    delay_ms(100);
    output_b(0b00000010);
    delay_ms(100);
    output_b(0b00000001);
    delay_ms(100);
    }
    }







  • quote:

    Orijinalden alıntı: fthkynr

    Aşağıda verdiğim kodda program "else" komutunun olduğu satırda hata veriyor. A numeric expression must be appear diye. Buradai hata nedir? Yapmaya çalıştığım d0 pinine bağlı butona basıldığında step motorun tersine dönmeye başlaması.



    void main()
    {
    setup_adc_ports(NO_ANALOGS);
    setup_adc(ADC_OFF);
    setup_psp(PSP_DISABLED);
    setup_spi(SPI_SS_DISABLED);
    setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
    setup_timer_1(T1_DISABLED);
    setup_timer_2(T2_DISABLED,0,1);

    // TODO: USER CODE!!
    set_tris_b(0b00000000);
    output_b(0b00000000);
    set_tris_d(0b00000001);
    output_d(0b00000000);


    while(1)
    {
    if (PIN_d0==0x00);
    {
    output_b(0b00000001);
    delay_ms(100);
    output_b(0x02);
    delay_ms(100);
    output_b(0x04);
    delay_ms(100);
    output_b(0x08);
    delay_ms(100);
    else
    output_b(0b00001000);
    delay_ms(100);
    output_b(0b00000100);
    delay_ms(100);
    output_b(0b00000010);
    delay_ms(100);
    output_b(0b00000001);
    delay_ms(100);
    }
    }

    if li yapiyi (0x08) şeklinde yazmişsin aşağiyi (0b00001000) şeklinde

    sen else deki değerleri de (0x04) (0x02) yap oyle dene




  • quote:

    Orijinalden alıntı: fthkynr

    Aşağıda verdiğim kodda program "else" komutunun olduğu satırda hata veriyor. A numeric expression must be appear diye. Buradai hata nedir? Yapmaya çalıştığım d0 pinine bağlı butona basıldığında step motorun tersine dönmeye başlaması.



    void main()
    {
    setup_adc_ports(NO_ANALOGS);
    setup_adc(ADC_OFF);
    setup_psp(PSP_DISABLED);
    setup_spi(SPI_SS_DISABLED);
    setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
    setup_timer_1(T1_DISABLED);
    setup_timer_2(T2_DISABLED,0,1);

    // TODO: USER CODE!!
    set_tris_b(0b00000000);
    output_b(0b00000000);
    set_tris_d(0b00000001);
    output_d(0b00000000);


    while(1)
    {
    if (PIN_d0==0x00);
    {
    output_b(0b00000001);
    delay_ms(100);
    output_b(0x02);
    delay_ms(100);
    output_b(0x04);
    delay_ms(100);
    output_b(0x08);
    delay_ms(100);
    else
    output_b(0b00001000);
    delay_ms(100);
    output_b(0b00000100);
    delay_ms(100);
    output_b(0b00000010);
    delay_ms(100);
    output_b(0b00000001);
    delay_ms(100);
    }
    }

    parantez hatası var yani if te açtığın parantezi elseden önce kapat ve else den sonra parantez aç
    elsede hata göstermesi elseden önceki yerde hata olduğunu yani oda parantez eksikliğini belirtmesidir.




  • quote:

    Orijinalden alıntı: wert95

    quote:

    Orijinalden alıntı: fthkynr

    Aşağıda verdiğim kodda program "else" komutunun olduğu satırda hata veriyor. A numeric expression must be appear diye. Buradai hata nedir? Yapmaya çalıştığım d0 pinine bağlı butona basıldığında step motorun tersine dönmeye başlaması.



    void main()
    {
    setup_adc_ports(NO_ANALOGS);
    setup_adc(ADC_OFF);
    setup_psp(PSP_DISABLED);
    setup_spi(SPI_SS_DISABLED);
    setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
    setup_timer_1(T1_DISABLED);
    setup_timer_2(T2_DISABLED,0,1);

    // TODO: USER CODE!!
    set_tris_b(0b00000000);
    output_b(0b00000000);
    set_tris_d(0b00000001);
    output_d(0b00000000);


    while(1)
    {
    if (PIN_d0==0x00);
    {
    output_b(0b00000001);
    delay_ms(100);
    output_b(0x02);
    delay_ms(100);
    output_b(0x04);
    delay_ms(100);
    output_b(0x08);
    delay_ms(100);
    else
    output_b(0b00001000);
    delay_ms(100);
    output_b(0b00000100);
    delay_ms(100);
    output_b(0b00000010);
    delay_ms(100);
    output_b(0b00000001);
    delay_ms(100);
    }
    }

    parantez hatası var yani if te açtığın parantezi elseden önce kapat ve else den sonra parantez aç
    elsede hata göstermesi elseden önceki yerde hata olduğunu yani oda parantez eksikliğini belirtmesidir.

    oo ona hiç dikkat etmemiştim.arkadaşin dediğini aynen yap.hata %100 ordan kaynaklaniyor.




  • quote:

    Orijinalden alıntı: elmariacci

    quote:

    Orijinalden alıntı: wert95

    quote:

    Orijinalden alıntı: fthkynr

    Aşağıda verdiğim kodda program "else" komutunun olduğu satırda hata veriyor. A numeric expression must be appear diye. Buradai hata nedir? Yapmaya çalıştığım d0 pinine bağlı butona basıldığında step motorun tersine dönmeye başlaması.



    void main()
    {
    setup_adc_ports(NO_ANALOGS);
    setup_adc(ADC_OFF);
    setup_psp(PSP_DISABLED);
    setup_spi(SPI_SS_DISABLED);
    setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
    setup_timer_1(T1_DISABLED);
    setup_timer_2(T2_DISABLED,0,1);

    // TODO: USER CODE!!
    set_tris_b(0b00000000);
    output_b(0b00000000);
    set_tris_d(0b00000001);
    output_d(0b00000000);


    while(1)
    {
    if (PIN_d0==0x00);
    {
    output_b(0b00000001);
    delay_ms(100);
    output_b(0x02);
    delay_ms(100);
    output_b(0x04);
    delay_ms(100);
    output_b(0x08);
    delay_ms(100);
    else
    output_b(0b00001000);
    delay_ms(100);
    output_b(0b00000100);
    delay_ms(100);
    output_b(0b00000010);
    delay_ms(100);
    output_b(0b00000001);
    delay_ms(100);
    }
    }

    parantez hatası var yani if te açtığın parantezi elseden önce kapat ve else den sonra parantez aç
    elsede hata göstermesi elseden önceki yerde hata olduğunu yani oda parantez eksikliğini belirtmesidir.

    oo ona hiç dikkat etmemiştim.arkadaşin dediğini aynen yap.hata %100 ordan kaynaklaniyor.



    aynen dediğiniz şekilde yaptım yalnız yine aynı hatayı veriyor



    < Bu mesaj bu kişi tarafından değiştirildi fthkynr -- 22 Nisan 2013; 10:14:15 >




  • #include "main.h" 




    void main()
    {
    setup_adc_ports(NO_anALOGS);
    setup_adc(ADC_OFF);
    setup_psp(PSP_DISABLED);
    setup_spi(SPI_SS_DISABLED);
    setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
    setup_timer_1(T1_DISABLED);
    setup_timer_2(T2_DISABLED,0,1);

    // TODO: USER CODE!!
    set_tris_b(0b00000000);
    output_b(0b00000000);
    set_tris_d(0b00000001);
    output_d(0b00000000);


    while(1)
    {
    if (pin_d0==0x00)
    {
    output_b(0x01);
    delay_ms(100);
    output_b(0x02);
    delay_ms(100);
    output_b(0x04);
    delay_ms(100);
    output_b(0x08);
    delay_ms(100);
    }

    else
    {
    output_b(0x08);
    delay_ms(100);
    output_b(0x04);
    delay_ms(100);
    output_b(0x02);
    delay_ms(100);
    output_b(0x01);
    delay_ms(100);
    }
    }
    }



    programda çok küçük hatalar vardi.if yapisinda ; kullanılmaz.

    bu şekilde işini gorur.derledim hata vermedi.




  • quote:

    Orijinalden alıntı: elmariacci

    #include "main.h" 




    void main()
    {
    setup_adc_ports(NO_anALOGS);
    setup_adc(ADC_OFF);
    setup_psp(PSP_DISABLED);
    setup_spi(SPI_SS_DISABLED);
    setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
    setup_timer_1(T1_DISABLED);
    setup_timer_2(T2_DISABLED,0,1);

    // TODO: USER CODE!!
    set_tris_b(0b00000000);
    output_b(0b00000000);
    set_tris_d(0b00000001);
    output_d(0b00000000);


    while(1)
    {
    if (pin_d0==0x00)
    {
    output_b(0x01);
    delay_ms(100);
    output_b(0x02);
    delay_ms(100);
    output_b(0x04);
    delay_ms(100);
    output_b(0x08);
    delay_ms(100);
    }

    else
    {
    output_b(0x08);
    delay_ms(100);
    output_b(0x04);
    delay_ms(100);
    output_b(0x02);
    delay_ms(100);
    output_b(0x01);
    delay_ms(100);
    }
    }
    }



    programda çok küçük hatalar vardi.if yapisinda ; kullanılmaz.

    bu şekilde işini gorur.derledim hata vermedi.

    Sağolasın , yeni başladım ilerleyen zamanlarda yardımlarınıza ihtiyaç duyabilirim :)




  • Yapay Zeka’dan İlgili Konular
    C programlama
    5 yıl önce açıldı
    C# Windows Form Yardım
    4 yıl önce açıldı
    python hatası
    geçen yıl açıldı
    Daha Fazla Göster
  • yardim ederim sen merak etme ccs c ile ilgili internet ortaminda oldukça çok örnek var .
  • bir butona her basıldığında "x" arttırmasını ve her arttırımı ekranda yazdırmasını nasıl yapabilirim.

    şu an geldiğim nokta 3 çalışma modum var ve 3 ayrı butonla seçiliyor. birini seçmesini istiyorum. çalışma modu seçilince ilgili butonla ilgili bölüme gidiyor program. kaç adım dönmesi gerektiğini kullanıcıdan butona basarak ayarlamasını istiyorum



    < Bu mesaj bu kişi tarafından değiştirildi fthkynr -- 27 Nisan 2013; 16:50:00 >
  • quote:

    Orijinalden alıntı: fthkynr

    bir butona her basıldığında "x" arttırmasını ve her arttırımı ekranda yazdırmasını nasıl yapabilirim.

    şu an geldiğim nokta 3 çalışma modum var ve 3 ayrı butonla seçiliyor. birini seçmesini istiyorum. çalışma modu seçilince ilgili butonla ilgili bölüme gidiyor program. kaç adım dönmesi gerektiğini kullanıcıdan butona basarak ayarlamasını istiyorum


    ne dediğini tam olarak anlayamadim.1. butona basinca ilk işlem 2. butona basinca 2. işlem 3. butona basinca 3. işlemi mi yapmasini istiyorsun?
  • evet aynen öyle.
    1.butona basıldığında .............. yapsın
    2. butona basıldığında .......... yapsın
    3.butona basıldığında ........... yapsın.

    yazdığım kodda bunu hemen hemen yapıyor zaten. ancak 2.butona bastıktan sonra 1. butonla değişkenin 1er 1er arttırılabilmesini 2.butonla 1er 1er azaltılabilmesini istiyorum.

    yani 2. butona bastı "adım modu" seçti kullanıcı. 1 ve 2. buton ile arttırıp azaltarak motorun kaç adım dönmesi gerektiğini ayarlayabilsin istiyorum



    < Bu mesaj bu kişi tarafından değiştirildi fthkynr -- 27 Nisan 2013; 20:55:50 >
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.