PIC C'de yaşadığım ilginç problem.

Başlatan Saruman, 27 Ağustos 2012, 17:38:10

Saruman

Daha önceleri bunun benzerini assembly'de de denedim, gayet sorunsuz çalışıyordu.

Elimdeki derleyiciler çalışıyor mu IDE düzgün ayarlanmış mı kontrol edeyim dedim ,  XC8 , Hitech C 9.65 PL1, Hitech C 9.83'te denediğim şey aşağıdaki gibidir.


Kodlar:

#include <htc.h>
#define _XTAL_FREQ 4000000
#pragma config BOREN = 0x0, CPD = 0x1, DEBUG = 0x1, WRT = 0x3, FOSC = 0x1, WDTE = 0x0, CP = 0x1, LVP = 0x0, PWRTE = 0x1
void main(void)
{
    PORTC=0X00;
    TRISC=0X00;    

while(1)
 
     {
        RC0=1;
       __delay_us(100);
        RC0=0;
       __delay_us(100);
      }  
}


Delay rutinleriyle PWM oluşturmaya çalıştım fakat istediğim elde edemiyorum.

Proteus ve gerçekte de denedim PIC saçmalıyor, PIC'i değiştirdim , kristali değiştirdim, besleme LION PIL-> 7805 yapısında.

WDT de kapalı. Çözemedim gitti.

AsHeS

4.76 khz civarında olması gerekiyor zaten hata nedir ki  ?

Saruman

#2
Her zaman PWM oluşturmuyor. Aslında mesele PWM'de değil.

@allegro hocamın tavsiyesiyle çözüm bulduğum daha çok şu probleme dikkat çekmek istiyorum,

#include <htc.h>
#define _XTAL_FREQ 4000000
#pragma config BOREN = 0x0, CPD = 0x1, DEBUG = 0x1, WRT = 0x3, FOSC = 0x1, WDTE = 0x0, CP = 0x1, LVP = 0x0, PWRTE = 0x1
void main(void)
{
    PORTC=0X00;
    TRISC=0X00;    

        RC0=1;
       __delay_us(100);
        RC0=0;

}


Şeklinde yazıldığında program burada bitmeli, fakat bitmiyor.WDT kapalı olmasına rağmen PIC

kendini resetliyor.

Program satırlarının altına kısır döngü ekledim sorun çözüldü.

AsHeS

Bir de yazdığınız koddan anladığım kadarıyla XC8 kullanıyorsunuz sorum şu olacak nasıl Mplab X le eşleyebildiniz?Ben pic i seçip derleyiciyi de seçiyorum Mplab 8.85 de yazdığım saf kodu veya basit kodları deniyorum TRISA registerinin altını çizip hata var diyor :(

Saruman

Hata var diyebilir fakat kodlar sorunsuz çalışır.  XC8 kullanıyorum.

Projeleri genellikle proje sihirbazı kullanarak oluşturuyorum.

XC8 in 1.10 sürümü yeni çıktı, bir de onu deneyip sonucu bildirir misiniz ?

AsHeS

Alıntı yapılan: silvercopper - 27 Ağustos 2012, 20:23:03
Hata var diyebilir fakat kodlar sorunsuz çalışır.  XC8 kullanıyorum.

Projeleri genellikle proje sihirbazı kullanarak oluşturuyorum.

XC8 in 1.10 sürümü yeni çıktı, bir de onu deneyip sonucu bildirir misiniz ?
Direkt onu denedim de internette picc.ini dosyasını kurcala tarzında yazılar var ona dokunmadım mplab 8.85 i kullanmak için ondan olabilir mi?

Saruman

Ben ne htc.h ne picc.ini ne de pic.h dosyalarıyla oynamadım. Proje sihirbazında zaten hangi derleyiciyi kullanmak istediğini soruyor.

fryrmnd

bende de bir iki sorun yapmıştı. ikisini de kaldırıp mplabx (1.3) , xc8 (1.1) kurdum düzeldi.

bayelektronik

pic reset mi atıyor yoksa program sonlanmayıp başa mı dönüyor.belki derleyici programı main() sonunda sonlandırmıyordur.eski programlarda sanki end komutu gibi bi komutla sonlandırdığımı hatırlıyorum emin değilim.