dizi indis i 0 dan başlamak zorundamı

a.zorba

Aktif Üye
Katılım
17 Eylül 2019
Mesajlar
132
C dilinde dizi index i 0' dan degilde örnek 300 den başlayıp 400 de bitsin gibi bir durum olabilirmi 0 dan başlamak zorun damı.
 
stm32f ile delta hmi arası haberleşme yapıyorum delta adresleri 4000 ile 5000 arasında oraya ulaşmak için delta nın orjınal programınıda bozmak istemiyorum.
 
Adsız.jpg
2-jpg.36297

5000 elemanlı bir dizi tanımlayarak yaptım bunun daha kolay bir yolu arayışındayım.
 

Ekler

  • 2.jpg
    2.jpg
    53.6 KB · Görüntüleme: 199
C/C++ dilleri hiçbir indeks kontrolü yapmazlar. İndeksin mantıklı veri olan yere işaret edeceğini senin algoritma ile garantilemen lazım.
 
Deltanın programını kurcalamana gerek yok.Register adresleri sabittir zaten.Sizin yapacagınız hmi den hangi registerleri okuyacaksanız onun komutunu Stm32 den göndermeniz.Cihazlardan hangisinin master;hangisinin slave olduguna dikkat edin.Master cihaz komut gönderdigi zaman slave cihaz cevabını gönderir.Stm32 yi master yapın.Control tech denen youtube kanalında çok güzel uygulamalar var.İzlemenizi tavsiye ederim.
 
veri gönderme, alma, ASCII, RTU, master veya slave yapmada sıhıntmı yok .
program hafızam çok yer kaplıyor onu azaltmaya çalışıyorum .
işimi görecek şekilde azaltabilirim ama her seferinde ugraşmaktan sa universal 0lmasını istedim o da şimdiki programlama mantıgım ile program hafızam küçülmeyecek gibi.
cevaplar için teşekkur.
 
Program hafızadaki ram alanını gereksiz yere hexamal 1000 yada desimal 4096 adresinden başlattığın için 4Kb lık ram atıl durumda demek istiyorsun herhalde. Bunun çözümünü @Mehmet.b şu mesajda belirtmiş zaten.
Örneğin;
-Sana 220 byte bir dizi gerekliyse eleman sayını 220 olarak tanımla
Sonra işlemler esnasında (index + 4096) yada (index=döngü değişkeni - 4096) yaparak istediğini kolayca gerçekleştirebilirsin.
 
pointer var, custom typecast var, hafıza alanı tasarrufu yapabilirsin, sadece dönüşümler için işlem zamanı artar. Adresler için byte kullanırsın, veriler için zaten ram kullanılacak.
 

Forum istatistikleri

Konular
7,717
Mesajlar
128,447
Üyeler
3,117
Son üye
MekanikAdam

Son kaynaklar

Son profil mesajları

Python Geliştirmeye eklediğim yapay zeka sunucusu, yeni başlayanlar için roket etkisi
Bir insanın zeka seviyesinin en kolay tesbiti, sorduğu sorulardır.
yapay zeka interneti yedi bitirdi, arama motoru kullanan, forumlara yazan kaldı mı ?
Freemont2.0 herbokolog Freemont2.0 wrote on herbokolog's profile.
nick iniz yakıyor
:D
az bilgili çok meraklı
Back
Top