Şimdi Ara

PIC eeprom ulaşımı (3. sayfa)

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
55
Cevap
3
Favori
7.014
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: önceki 123
Sayfaya Git
Git
Giriş
Mesaj
  • quote:

    Orjinalden alıntı: Qklavye

    Proton programında Result's penceresi var.Buradaki compile sonrası bilgiler sağlıklımıdır.
    Şöyle ki 16f877 için kodu derlediğimde muhtemel 8192 alandan 1605 ini kullanıdığını,yaklaşık % 20 lik alanın kullanılıp kalanının boş olduğunu söylüyor.


    O bilgiler zaten assembly edildikten sonra oraya basılıyor, kodun harcadığı program word ve değişken bytelarını oraya yazar. dolayısıyla doğru olmalı..



    < Bu mesaj bu kişi tarafından değiştirildi Hazar -- 31 Aralık 2007; 18:28:27 >
  • Arkadaşlar biraz hort olacak ana en alakalı konu bu. Şimdi araştırma yaparken 16f628 için yazılmış bir programa denk geldim. Hex dosyasının boyutu 10kb. Bunun 628'e sığma ihtimali yok diye biliyorum. Halbuki bu program gerçekleştirilmiş. Nerede yanlış düşünüyorum acaba?
    Kod burada:
    http://ul.to/fi64xw

    yıldızlı çıkarsa u l . to olacak



    < Bu mesaj bu kişi tarafından değiştirildi herdem09 -- 21 Nisan 2010; 16:22:27 >
  • hex dosya boyutunun 10 k olması 2 lık 628 e yazılmasına engel değildir. hex dosya içerisinde picin program hafızsına yazılacak olandan çok daha fazla bilgi (adres vs)oluyor.

    örnek olarak yazdığım bir programda 830 program word ve 30 değişken kullanmışım program hazfızasının(2K nın) % 40.53 ü
    değişkenlere ilişkin hafızanın ise %13 ünü kullanmışım . hex dosya boyutu ise 5 K....



    < Bu mesaj bu kişi tarafından değiştirildi ferit -- 21 Nisan 2010; 16:36:06 >
  • Teşekkürler yanıt için.
  • quote:

    Orijinalden alıntı: ElektroEmre

    quote:

    Orjinalden alıntı: 90alper90

    Cevaplar için teşekkürler.PIC i programlarken veri yazabiliyorsak bunu nasıl yapacağız?


    Hangi dili kullannıyorsun?
    --------------------
    Eğer PBP kullanıyorsan EEPROM komutuyla sadece PIC'i progragramlarken yazarsın.(yani RAM filan kullanılmaz bilgisayrdan Direkt olarak eeproma yazarsın)
    Eğer program içerisinde aktif olarak değiştireceksen WRITE komutunu kullanabilirsin.
    --------------------
    PROTON+'ta yazıyorsan EDATA komutuyla yine PIC programlanırken bir kereliğine veri yazılır..(aynı şekilde Direkt olarak eeproma yazarsın)
    Program içerisinde aktif olarak değiştirmek için EWRITE komutu işini görecektir.
    -------------------
    Diğer diller hakkında bilgim yok.Ancak PBP veye Proton'da yazıyorsan daha ayrıntılı bilgi HELP bölümünde bulmak mümkün...

    Saygılar,,,

    Programlama sırasında eeproma veri yazımı konusunda,
    PBP DE EPROM demişsiniz yıllar önce.

    Ben PBP de DATA komutunu kullanıyorum. İstediğim değeri istediğim adrese programlama sırasında yerleştiriyorum.

    Örnek:
    DATA @$1, 20 'Eepromun 1 nolu adresine 20 değerini yaz.

    Şimdi proton ile çalışıyorum.
    Protonda da EDATA demişsiniz. Ancak bu komutla adres belirtilemiyor. Doğrudan 0. adresten yazmaya başlıyor.

    Programlama sırasında PROTON dilinde eeproma nasıl bilgi yazabilirim?
    Yardım lütfen.




  • Çalışma esnasında eeproma ulaşacaksınız interruptları kapatmalısınız. Initial değerleri programınızın başında define edebilirsiniz. Zaten arkadaşlar yukarıda açıklamışlar. Programlamada ileri seviyelere gitmek istiyorsanız asm ya da hi-tech c öneririm. Zaten bu microchip bu compalier ı satın aldı. işlemciye en iyi hakimiyeti kurmanızı sağlar.



    < Bu mesaj bu kişi tarafından değiştirildi turgaydemir -- 13 Haziran 2015; 23:09:58 >
    < Bu ileti mobil sürüm kullanılarak atıldı >
  • turgaydemir T kullanıcısına yanıt
    Çalışma esnasında eeproma bilgi yazma veya okumada bir problem yaşamıyorum. Zaten programda kesme gerekmediğinden kullanmıyorum.

    Eeproma ilk çalışma sırasında kullanılmak üzere yaklaşık 120 değer yazılması gerekiyor. Ben bu değerleri denetleyiciye program yüklerken yazmak istiyorum. Yoksa ilk çalışmada tüm değerleri lcd ekrandan tek tek girmem gerekiyor.

    İstediğim bu değerleri programlama sırasında girebilmek. Dediğim gibi PBP de DATA komutuyla rahatlıkla yükleniyordu. Proton basic de yapamıyorum.

    Bahsettiğiniz gibi ASM veya C dilleri hakimiyet açısından daha iyidir. Alışkanlık işte. Dil değiştirmek zor. PBP den protona bile geçerken zorlanıyorum.
    Saygılar.
  • Merhaba

    Elbetteki tercih size ait ama bu işi ciddi manada yapacam ve ileri gidecem diyorsanız tafsiyem üreticilerin kendi destekledikleri dilleri kullanmak. Bunun dışındakiler 3. Firmalar tarafından geliştirilir ve bazen kullandığın islemcinin header dosyasını bulamadığın durumlarda olacak. 10 yılı aşkın mesleki tecrübem bunu söylüyor. Başarılar.



    < Bu mesaj bu kişi tarafından değiştirildi turgaydemir -- 14 Haziran 2015; 21:05:58 >
    < Bu ileti mobil sürüm kullanılarak atıldı >
  • turgaydemir T kullanıcısına yanıt
    Çok haklısınız.

    Ancak şu anki şartlarda ihtiyacım olan komutu bulmam gerekiyor.

    İlginize teşekkürler. Çalışmalarınızda başarılar.
  • quote:

    Orijinalden alıntı: hasanemmii

    Çalışma esnasında eeproma bilgi yazma veya okumada bir problem yaşamıyorum. Zaten programda kesme gerekmediğinden kullanmıyorum.

    Eeproma ilk çalışma sırasında kullanılmak üzere yaklaşık 120 değer yazılması gerekiyor. Ben bu değerleri denetleyiciye program yüklerken yazmak istiyorum. Yoksa ilk çalışmada tüm değerleri lcd ekrandan tek tek girmem gerekiyor.

    İstediğim bu değerleri programlama sırasında girebilmek. Dediğim gibi PBP de DATA komutuyla rahatlıkla yükleniyordu. Proton basic de yapamıyorum.

    Bahsettiğiniz gibi ASM veya C dilleri hakimiyet açısından daha iyidir. Alışkanlık işte. Dil değiştirmek zor. PBP den protona bile geçerken zorlanıyorum.
    Saygılar.

    protonbasic de ewrite ile yapılıyor. bizzat kendim kullanıyorum
    kullanımı

    EWrite adres, [bilgi]




  • hatta kendi kullandığım örnek

    GIE = 0 'tüm kesmeleri pasif hale getirdik
    EWrite 5, [ SONY_COMMAND ] 'belleğe yazdık
    DelayMS 10 'gecikme olmazssa olmazımız
    GIE = 1 ' kesmeler tekrar aktif hale getirildi
  • akyildizemre A kullanıcısına yanıt
    EWrite komutunu kullandığımızda, program çalışmaya başladığında, ve bu komutun bulunduğu satıra her geldiğinde bu komut çalışacaktır. Yanılıyor muyum?
    EWrite komutunu zaten program içinde kullanıyorum.

    Oysa ben sadece işlemciye program yüklerken eeproma bilgiler kaydedilsin ve işi bitsin istiyorum. Daha sonra program çalışırken etkili olmasın.

    Var mıdır böyle bir komut acaba?
  • quote:

    Orijinalden alıntı: hasanemmii

    EWrite komutunu kullandığımızda, program çalışmaya başladığında, ve bu komutun bulunduğu satıra her geldiğinde bu komut çalışacaktır. Yanılıyor muyum?
    EWrite komutunu zaten program içinde kullanıyorum.

    Oysa ben sadece işlemciye program yüklerken eeproma bilgiler kaydedilsin ve işi bitsin istiyorum. Daha sonra program çalışırken etkili olmasın.

    Var mıdır böyle bir komut acaba?

    O zaman şöyle yaparsınız . Program ilk çalıştığında bilgileri kaybedersin. Sonra bir ilk çalıştırma durum bölümü olulturursunuz. (epromuna) mesela Default 0 dır . Çalıştığında bilgileri epromuna kaydeder ve bu durumu belirten bölgenin değerini 1 yaparsınız. Epromuna bilgileri kaydetmedrn önce bunu kontrol ederek ona göre işlem yaparsınız olur biter.

    < Bu ileti mobil sürüm kullanılarak atıldı >




  • Hee bir de edata komutu vardı. Ama tam olarak nasıl iş yapıyor onu bilmiyorum

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • akyildizemre A kullanıcısına yanıt
    Özel bir bölüm oluşturup bir kereliğine kayıt yapmak değişik bir fikir olmuş. Ama çalışır tabi ki.

    edata komutu bu işi yapıyor ama, verileri ilk adresten başlayarak yerleştiriyor. Adres veremiyorsunuz. Sadece dataları arka arkaya yazmak gerekiyor. Ben de şu anda bunu kullanıyorum. Dataları öyle bir sırada yerleştirdim ki, hepsi kendi yerine gidiyor. arada boşluk olan yerlere de sıfır koydum. Ama riskli hata götürmez.

    PBP daki data komutunun gözünü seveyim. Program yüklerken istediğin datayı istediğin adrese yerleştiriyordu. Bir daha da programa etkisi olmuyordu.

    Kalın sağlıcakla. İlginize teşekkürler.




  • 
Sayfa: önceki 123
Sayfaya Git
Git
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.