Arama butonu
Bu konudaki kullanıcılar: 1 misafir
54
Cevap
7014
Tıklama
0
Öne Çıkarma
Cevap: PIC eeprom ulaşımı (3. sayfa)
H
18 yıl
Yarbay

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 >
Bu mesaja 1 cevap geldi.
H
15 yıl
Binbaşı

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 >
Bu mesaja 1 cevap geldi.
F
15 yıl
Yüzbaşı

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 >

H
15 yıl
Binbaşı

Teşekkürler yanıt için.



H
10 yıl
Yarbay

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.



T
10 yıl
Teğmen

Ç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ı >
Bu mesaja 1 cevap geldi.
H
10 yıl
Yarbay

Ç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.


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @turgaydemir
T
10 yıl
Teğmen

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ı >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @hasanemmii
H
10 yıl
Yarbay

Ç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.




Bu mesajda bahsedilenler: @turgaydemir
A
10 yıl
Binbaşı

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]


Bu mesaja 1 cevap geldi.
A
10 yıl
Binbaşı

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


Bu mesaja 1 cevap geldi.
H
10 yıl
Yarbay

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?


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @akyildizemre
A
10 yıl
Binbaşı

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ı >

A
10 yıl
Binbaşı

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ı >
Bu mesaja 1 cevap geldi.
H
10 yıl
Yarbay

Ö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.




Bu mesajda bahsedilenler: @akyildizemre
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.