dizi indis i 0 dan başlamak zorundamı

a.zorba

Aktif Üye
Katılım
17 Eylül 2019
Mesajlar
110
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ı.
 
Ne gibi bir avantaj getirecek?

Mantiken 0'dan baslamak zorunda.
 
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: 113
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.
 

Çevrimiçi üyeler

Forum istatistikleri

Konular
6,667
Mesajlar
113,681
Üyeler
2,740
Son üye
machinetotal

Son kaynaklar

Son profil mesajları

deneyci wrote on TA3UIS's profile.

Senin gibi amatör telsizciler burada dedikodu yapıyorlar. :)
hakan8470 wrote on Dede's profile.
1717172721760.png
Dedecim bu gul mu karanfil mi? Gerci ne farkeder onu da anlamam. Gerci bunun anlamini da bilmem :gulus2:
Lyewor_ wrote on hakan8470's profile.
Takip edilmeye başlanmışım :D ❤️
Merhaba elektronik tutsakları...
Lyewor_ wrote on taydin's profile.
Merhabalar. Elektrik laboratuvarınız varsa bunun hakkında bir konunuz var mı acaba? Sizin laboratuvarınızı merak ettim de :)
Back
Top