eeprom siliniyor

Başlatan teknikelektronikci, 19 Eylül 2007, 00:28:27

teknikelektronikci

merhaba arkadAslAr üstadlar
soracagim soru bi ara forumda sorulmusdu ama malesef bulamadim o basligi, o yüzden tekrar baslik actim kusura bakmayin.

sorunum su:kayan yazi devremde yazilimda edata komutu ile pici programlamadan eeproma veri yaziorum ve yazininda yazildigindan eminim cünkü tekrar okutugumda eeprom verisi gözüküyor.ama devreye enerji verdigimde eeprom verisnin yarisi silinior sonlara doru biraz bir sey kaliyor bunu söküp tekrar okutugumda rahatca anliyorum .programda eeprom format ve seri iletisim kisimi da var(seri iletisim ile direk eeproma kayit var) bu kisimlari iptal etmeme ragmen gene ayni problemi yasiorum bunun sebebi acaba ne ollabilir bir bilginiz varmi yardimci olursaniz sevinirim simdiden tesekürler kolay gelsin   T.E
Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!

Veli B.

Enerjide ki dalgalanmalar sebebi ile MCU nun eprom yazma rutinine dallaniyor olma ihtimali oldukca yuksek. Ozel bir kontrol kullanmayip direkt olarak comport uzerinde ki bir pin uzerinden tetikletip eprom yazma rutinine gidiyorsaniz, Pc  yi baslattiginizda da benzer sorunlar yasarsiniz. Kod kismina bakmadan yorum yapmak bir hayli zor, malumunuz oldugu uzere ki bu sebebple yeni gelen arkadaslara israrla muneccim değiliz diyoruz...

teknikelektronikci

Alıntı yapılan: "katana"Enerjide ki dalgalanmalar sebebi ile MCU nun eprom yazma rutinine dallaniyor olma ihtimali oldukca yuksek. Ozel bir kontrol kullanmayip direkt olarak comport uzerinde ki bir pin uzerinden tetikletip eprom yazma rutinine gidiyorsaniz, Pc  yi baslattiginizda da benzer sorunlar yasarsiniz. Kod kismina bakmadan yorum yapmak bir hayli zor, malumunuz oldugu uzere ki bu sebebple yeni gelen arkadaslara israrla muneccim değiliz diyoruz...


hocam öncelikle cevabiniz icin tesekür ederim
mcu nun yazm rutinin edallanior olma ihtimalinden bahetmisiniz ama be o kismi iptal etmeme ragmen genede ayni olay oluyor.ayrica devre seri porta bagli da değil simdilik :s   özel bir kontrol kullanmayip demisiniz özel kontrolden kastiniz nedir acaba .ben direk herhangi bir kesme olustugunda seri portda o zaman karakterleri alipda yazmasi icin kesme etiketine dallandiriyorum. haklisiniz acik kod vermek gerek ama program sirf bana ait değil o yüzden kodu paylasmam dogru olmaz umarim anlayisli olursunuz simdidien tesekürler kolay gelsin
Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!

Veli B.

Bende boyle yaptiginizi tahmin etmistim. Bu buyuk bir hatadir :evil:
Bir kontrol ifadesi kullanin, or;
.
.
.
.

ISR:
bcf  GIE
.
.
if startflag=0 then 
      If RCREG= "A"   then startflag=1
else
      goto Eprom_Yaz

endif.
.
cik:
context restore
.


Fikir vermesi acisindan yazdim, bu sekli ile saglikli bir yapi değildir. Pekcok degisiklik ve algoritmanin durumuna gore kontrollerin konulmasi gerekir fakat uzerinde fikir yurutmeniz ve kendi yapinizi kurmaniz icin yeterlidir...

teknikelektronikci

hocam cevabiniz icin tesekür ederim öncelikle
anlamadigim neyi bu sekilde yaptigimi tahmin etmeniz kesmeyimi ? :D

simdi daha demin hatayi malesef buldum kesme alt programini iptal ettim ve gayetde saglikli calisdi (sizin dedginizde bumuydu  :oops:  )

kesme alt programim söyle :

Disable 
seri_kesme: 
temp=RCREG
DelayMS 100
EWrite x,[temp]
x=x+1
    

exit:
    RCIE=1 
    PEIE=1 
    GIE=1
    Enable 
    Resume 
    End  


örnek kod icin tesekür ederim sanirim burda belirtmek istediginiz seri portdan bilgi göndermeden önce bir tanimlama bilgisi göndrmek eger gelen bu ise o zaman eeproma yaz  tam olarak bumudur birde startflag demisiniz bu gelen bilgiden önce bir bilgi olcak öyle değilmi ? simdidentesekürler kolay gelsin
Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!

Veli B.

Evet, preamble veya start sinyali gibi dusunebilirsiniz. Asil data aktarimini saglama almak icin MCU ya "data gonderecegim" demeniz ve eprom rutinine bu sekilde gitmeniz gerekli...
Bu arada halen klavyenizde ki bazi tuslar calismiyor sanirim, klavyenizi duzeltmeye vaktinizin olmadigini tahmin ediyorum. Yoksa bu denli yazim hatasi ne mumkun! değil mi?

teknikelektronikci

cevabiniz icin tesekür ederim dediklerinizi yapacam ama aklima bi soru takildi peki kesmeyi tamamiyla iptal mi edeyim ? yani data geldimi direk yazim islemiylemi ugrassin hic kesme kullanmasinmi?

birde haklisiniz yazim hatasi yapiorum ama fark ederseniz gönderdikten sonra fark ediyorum ve düzeltiyorum ( bazen fark edemiyorum ) sanirim tamda o sirada siz cevap yaziorsunuz klavyeyi malesef degistiremem cünkü laptop sanirim tuslara hafif basayim diye mi yoksa parmaklarimi büyük geliyor bilmiyorum bilmeden hata yapiyorum  :oops:  özür dilerim
Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!