Haberler:

Forum kuralları güncellendi LÜTFEN  okuyunuz:  https://bit.ly/2IjR3ME

Ana Menü

CCS 18F4620 RAM PROBLEMİ

Başlatan mihri, 25 Şubat 2008, 13:50:26

mihri

CCS de 18f4620 için kod yazıp bir değişken tanımladığında derleyici değişkenin adresini 0x00 ve 0x7f aralığında biyere atıyo datasheette ise bu bölge sfr olarak görünüyo. Programı çalıştırınca saçma sapan şeyler oluyo. Burda ccs mi hata yapıyo yoksa benim mi bir hatam var?
"Eppur si muove!"

mucitotomasyon

muhakkak sen hata yapıyondur ama ccs de  eski sürümse dogaldır.istersen yeni sürüm verem

mihri

versiyon 4.058 daha yenisi var mı?

üstelik bahsettiğim ram bölgerine;

char asd[122]
#locate asd=0x05

yazıyorum ve asd değişkenini kullanmadığım zaman hiçbir sorun olmuyo. Yani burda ram bölgesini işgal ederek derleyicinin o bölgeyi diğer değişkenler için seçmesini engelliyorum ve asd değişkenini hiç kullanmadığımda sfr lere müdahale etmemiş oluyorum. Daha önce ccs de 18f4620 kullanan varsa muhakkak böyle bişeyle karşılaşmış olmalı çünkü ccs değişkenleri ramda düşük adresten başlayarak dolduruyo. Üstelik CCS ' nin 4.038, 4.049, 4.057 sürümlerindede aynı durum mevcut.
"Eppur si muove!"

remzi

Bende 4.065 var böyle birşeyle hiç karşılaşmadım...

Ziya

Alıntı yapılan: "mihri"CCS de 18f4620 için kod yazıp bir değişken tanımladığında derleyici değişkenin adresini 0x00 ve 0x7f aralığında biyere atıyo datasheette ise bu bölge sfr olarak görünüyo. Programı çalıştırınca saçma sapan şeyler oluyo. Burda ccs mi hata yapıyo yoksa benim mi bir hatam var?
O aralık access ram aralığıdır. Her banktan rahatlıkla erişilir. SFR'ler Bank 15'in 80H-FFH arasındadır yani F80H-FFF arası. CCS bu konuda hata yapmıyor.
Bu günden sonra hiç kimse sarayda, divanda, meclislerde ve seyranda Türk dilinden başka dil kullanmaya. (13 Mayıs 1277) Karamanoğlu Mehmet Bey

Ziya

Alıntı yapılan: "mihri"CCS de 18f4620 için kod yazıp bir değişken tanımladığında derleyici değişkenin adresini 0x00 ve 0x7f aralığında biyere atıyo datasheette ise bu bölge sfr olarak görünüyo. Programı çalıştırınca saçma sapan şeyler oluyo. Burda ccs mi hata yapıyo yoksa benim mi bir hatam var?
O aralık access ram aralığıdır. Her banktan rahatlıkla erişilir. SFR'ler Bank 15'in 80H-FFH arasındadır yani F80H-FFF arası. CCS bu konuda hata yapmıyor.
Bu günden sonra hiç kimse sarayda, divanda, meclislerde ve seyranda Türk dilinden başka dil kullanmaya. (13 Mayıs 1277) Karamanoğlu Mehmet Bey

mucitotomasyon

O zaman büyük ihtimal siz  programda hata yapıyosunuz
ram alanını siz atayarak mı kullandınız

mihri

Peki ozaman şunu açıklayalım 18f4620ye kod yazdım ve çalıştırdığım zaman program hatalı çalışıyor. Aynı programa aşağıdaki;

char asd[122]
#locate asd=0x05

kod parçasını yazdığım zaman düzgün çalışıyor. Daha önce söylediğim gibi asd değişkenini kullanmıyorum. Bunu nasıl açıklayabilirsiniz.
"Eppur si muove!"

Ziya

4620 üzerinde 32KB'ı geçen bir program yazdım. Ram belleğinin neredeyse tamamını ve büyük çoğunluğunu structure dizisi şeklinde kullandım ve hiç sorunla karşılaşmadım. CCS sürümü 4.038 idi.

Sizin programı görmeden de yorum yapamam.
Bu günden sonra hiç kimse sarayda, divanda, meclislerde ve seyranda Türk dilinden başka dil kullanmaya. (13 Mayıs 1277) Karamanoğlu Mehmet Bey

mihri

Kodlar aşağıda çalışan ve çalışmayan olarak aynı dosyaları kaydettim çalışan ile çalışmayan arasında tek fark stc.h dosyasnda;

char doldur[122];
#locate 0x05

yazıyo olması, daha önce bahsettiğim gibi.
Normalde lcd de mesut yazması gerekiyo yukarıdaki değişkeni ve adresini tanımlamazsam yazmıyo.

http://rapidshare.com/files/95291915/4620.rar.html
"Eppur si muove!"

mihri

Ziya hocam nedir yorumunuz. Ayrıca yine başka bir programda proteusta sorunsuz çalışan kod devrede saçmalıyo (18f4620)
"Eppur si muove!"

Ziya

Fazla zaman ayıramadım kusura bakma. Dediğin doğru, bir sorun var. Değişik yöntemler denedim ama olmadı. Vakit bulursam akşam biraz daha detaylı bakacağım.
Bu günden sonra hiç kimse sarayda, divanda, meclislerde ve seyranda Türk dilinden başka dil kullanmaya. (13 Mayıs 1277) Karamanoğlu Mehmet Bey

mihri

Ben hala çözemedim problemi çözen var mı?
"Eppur si muove!"