ccs c write_program_eeprom() sorunu

Başlatan salih18200, 23 Ekim 2009, 13:38:23

salih18200

Pc'den gelen dataları write_program_eeprom() komutu ile düzgünce istediğim adrese yazabiliyorum.

ama sorunum veri yazdığım yere tekrar farklı bir veri yazdığım zaman kafasına göre farklı veriler yazması

hem protesu hemde donanımda birkere düzgün veri yazabiliyorum tekrar veri yazmak istediğimde programı pic'e tekrar yüklemem gerekiyo neden aynı adrese birden çok kez veri yazamıyorum sigorta ayarlarında dikkat etmediğim bir noktamı var bilmiyorum

yardımcı olursanız sevinirim arkadaşlar...

Okan AKÇA

slm kodunda  yada derleyicinde hata var ole bişey olması imkansız

salih18200

#int_rda
void rs232_kesmei(void)
{
 disable_interrupts(GLOBAL);
 
      i=0;
      veri_uzunlugu=0;
      veri_uzunlugu=make16(getch(),getch());

      
      for(p=0;p<veri_uzunlugu;p+=2)
      {
         veri=getch();
         write_program_eeprom(0x3000+p,make16(getch(),veri));  
      }
      
      saat=getch();
      dakika=getch();
      gun=getch();
      ay=getch();
      yil=getch();
      haftanin_gunu=getch();
      
      rtc_set_datetime(gun,ay,yil,haftanin_gunu,saat,dakika);
      
      
 enable_interrupts(GLOBAL);
}


yazma işlemini rs232 kesmesinde gerçekleştiriyorum kodlar yukardaki gibi

Erol YILMAZ

VDD ve VSS sinyallerini dikkatlice incele derim bu durumda,
Besleme gürültülü ise bu şekilde hareket edebiliyor.

salih18200

aynı problem proteus simülasyonundada var donanımsal sorun olmadığı kanatindeyim...

Okan AKÇA

usart modülünü kullandıgın icin daima gelen veriler ile işlem yapıyor onun icin  hangi  dataları alacaksan onları secerek bu işlememi yapmalısın.

salih18200

malesef sorun ondan kaynaklanmıyor
main fonksiyonunda direk olarak sadece aşağıdaki kodu çalıştırdığımda bile
aynı adrese ikinci kez data yazmıyor

write_program_eeprom(0x0300,0x1020); // doğru olarak yazıyor
write_program_eeprom(0x0300,0x3040); // ikinci kez aynı adrese veri yazmıyor

sorunu bir türlü çözemedim ccs c kullanıyo iseniz benim için aynı adrese birden fazla farklı veri  yazmayı deneyip proteusta simule edebilirmisiniz
projem bitmek üzere bu sorundan dolayı bitiremiyorum.

çok yoruldum...

ahmet2004

Senin yazdığın değerle (0x300*2) 0x600 nolu program memory adresine

peşpeşe değerleri yazıyor.Simulede gösteriyor.Program versiyonların nedir?

XX_CİHAN_XX

Alıntı yapılan: "salih18200"
aynı adrese ikinci kez data yazmıyor
write_program_eeprom(0x0300,0x1020); // doğru olarak yazıyor
write_program_eeprom(0x0300,0x3040); // ikinci kez aynı adrese veri yazmıyor
Araya gecikme koymayı denedin mi?
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

salih18200

teşekkürler arkadaşlar sorunu çözdüm
flash eeproma yazdıktan sonra silmek gerekiyomuş
sill-yaz,sil-yaz seklinde yazınca sorun çözülüyor