PIC 15-20 dak. sonra değerleri sıfırlıyor?

Başlatan bilgehansahin84, 09 Haziran 2009, 17:31:12

bilgehansahin84

Arkadaşlar tekrar merhaba.

Yapmış olduğum devrede PIC 15-20 dakika hiç bir işlem yapmadan bekletildiğinde iki set ettirdiğim real değerini sıfırlıyor muş?

Bunun neden olabileceği konusunda bir fikriniz var mı?

Ben WDT olduğundan şüpheleniyorum. Bunu nasıl kapatabilirim programda? Kodu nedir?
Önceki kullanıcı adım : bilgehansahin84  ALLAH (c.c) kimseye kaldıramayacağı yükü yüklemez. İnsan bu düşünce ile hareket ederse, 'PES' etmek üzere olduğu tüm işlerinden başarıyla ayrılabilir.

OG

FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

dombilik

DECLARE WATCHDOG = ON or OFF, or TRUE or FALSE, or 1, 0


(bkz..proton help)
Bildiklerini kime miras bıraktın?kimseyemi? O zaman bildiklerinin ne önemi kalır. ******** /////////// ******** PROTON-ASM PROTEUS 7.4 SP3 EAGLE 5.40

muhittin_kaplan

wdt 15-20 dk beklemez 255  kadar sayar resetler

MURSEL

sebeb wdt değil öncelikle ... programsal hatalarını cözmen acısından

set ettigin degerleri eepromada yaz  sistem ilk acıldıgındada bu degerleri eepomdan al set degerlerine yükleki elektirk kesintisi vb sebeblerden enerjisi kesilse veya reset atsa dahi set edilen degerler korunabilsin ..

aslan_korhan

Herhangi bir değişkeni "Byte" olarak tanımladıysan ve programda bu değişken "deger = deger + 1" gibi toplanıyorsa ve bu değerde bir süre sonra 255'in üzerine çıkıyorsa program kilitlenebilir.

Programında böyle bir değişkenin olup olmadığını kontrol et bence...
Dünyada 10 çeşit insan vardır. Binary bilen ve bilmeyenler.

bilgehansahin84

Arkadalar cevaplarınız için teşekkürler.

Sayın MURSEL, programda zaten o yazılım var.
Sayın aslan_korhan, o şekilde bir döngüm yok.
Sayın OG, sizi baymak istemezdik ama, 2 yıl sonra tekrar pic e bakınca böyle oluyor.

Çözüm önerileriniz için teşekkürler arkadaşlar...
WDT yi kapatarak bir deneme yaptırıcam...
Önceki kullanıcı adım : bilgehansahin84  ALLAH (c.c) kimseye kaldıramayacağı yükü yüklemez. İnsan bu düşünce ile hareket ederse, 'PES' etmek üzere olduğu tüm işlerinden başarıyla ayrılabilir.

MURSEL

arkaşım halen ısrarla wdt diyorsun ki dediklerimi yapmış isen reset atınca  degişkenler neden sıfırlansın eger yaptıgın eminsen , programsal hataların var  resetden dogan bir problemin  yok  

 kodları  koyarsak ve birazdaha acıklayıcı olabilirsek yardımcı olabilecek hocalarımız baymamış oluruz :)

bilgehansahin84

MURSEL arkadaşım, ben reset çektiğimi falan yazmadım ki?

Biraz daha açayım durumu.


PIC için yazmış olduğum program: bir adet switchden her sinyal geldiği
zaman
...
a  var FLOAT
b var FLOAT
sonuc var FLOAT
...

ANA:
...
if switch = 1 then
  sonuc = sonuc + (a*b)
  ...
  ...
endif
...
...

AYARLAR :
...
...



gibi basit bir yazılımla sonucu hesaplıyor. AYARLAR alanında da a ve b değerlerini ayarlıyorum

if arttir_butonu = 1 then
  a = a + 0.05
elseif eksilt_butonu = 1 then
  a = a - 0.05
endif
... bigi b değeride ayarlanıyor.

Program AYARLAR kısmınada başka bir butona basınca geçiyor. Yani programıntek görevi sonuc değerini her sinyal gelmesinde hesaplaması.

İşte sorun burada başlıyor.

Devre sağlıklı şekilde saatlerce çalışıyor. Adam öğle yemeğine gitmek için işi bırakıyor ve PIC enerji altında switch den sinyal gelmesini bekliyor. Bir geliyor ve a ve b değerleri sıfırlanmış. Biz devreyi laboratuar ortamında saatlerce deniyoruz bir sorun yok.

Devre bir tranktörün kabinine monte edilmiş durumda. Yani ortam koşullarıda bunu bozuyor olabilir. Sıcaklık yer yer 40-50 dereceyi buluyor.

Biraz uzun oldu ama olay bu arkadaşlar
Önceki kullanıcı adım : bilgehansahin84  ALLAH (c.c) kimseye kaldıramayacağı yükü yüklemez. İnsan bu düşünce ile hareket ederse, 'PES' etmek üzere olduğu tüm işlerinden başarıyla ayrılabilir.

OG

Alıntı yapılan: "bilgehansahin84"
Sayın OG, sizi baymak istemezdik ama, 2 yıl sonra tekrar pic e bakınca böyle oluyor. .
Hayır arkadaşım, mesele konuyu bilememeniz değil, bilmemeniz hiç de önemli birşey değil, kodlar olmadan nasıl yardım edilebilir demek istedim.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.