Şimdi Ara

flowcode eeprom a 255 ten büyük sayı kaydetme sorunu

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir (1 Mobil) - 1 Masaüstü1 Mobil
5 sn
3
Cevap
0
Favori
451
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhabalar,
    Yazılım konusunda yeni hatta eksi de sayılırım önce bunu belirtiyim,
    Elimde 18F4620 TQFP mcu lu hazır bir sistem var fakat yazılımını yenilemem gerekiyor,son ana kadar herşey yolunda gidiyordu fakat bir counter değerini eeprom a kaydetme konusuna gelince sorun çıkmaya başladı.
    FlowcodeV5 similasyonda eeproma a UInt 30000 sayısını kaydettiğimde değer belirttigim addr ye kaydoluyor fakat sistemde bu değeri okuyamıyor.
    Biraz araştırma yaptım bu değeri low ve high bits olarak ayrı ayrı kaydetmem gerekiyor galiba 300 ve 00 gibi daha sonra okurkende bu iki değeri farklı addr lerden okuyup birleştirmem gerekiyor galiba ama tam anlıyamadım.

    Bilgisi olan yardımcı olursa sevinirim,teşekkürler.



  • Her adrese 8 bitlik veri yazabilirsin. YazılanVeri ve OkunanVeri olarak iki değişken oluşturursun.

    Write Adres1=YazılanVeri.highbyte
    Write Adres2=YazılanVeri.lowbyte

    Mantıken bu şekilde yazdıktan sonra farklı bir değişkene okuduğun değeri aktarırsın:

    Read Adres1=OkunanVeri.highbyte
    Read Adres2=OkunanVeri.lowbyte

    Böylece OkunanVeri değişkenine parçalanmış olan YazılanVeri değişkenini birleşmiş olarak yerleştirmiş olursun. Hangi dili kullandığını bilmiyorum o nedenle mantıken bu şekilde yazdım.



    < Bu mesaj bu kişi tarafından değiştirildi Overclock Makinesi -- 29 Nisan 2015; 0:33:15 >
  • Overclock Makinesi kullanıcısına yanıt
    İlgin için sağol teşekkürler Overclock Makinesi,
    Genel yazılımı bozmamak için sadece bu olayı denemek için ayrı birşey denedim ve bu şekilde sorunu çözdüm,umarım fazla dallandırıp budaklandırmamışımdır,benim gibi acemi arkadaşlara bir yardımı dokunur

    1-"giriş_sayı" olarak 987654 giriyorum,

    2-"giriş_sayı" yı "int2float" komutuyla "sayı_to_float" isimli değişkene floatpoint cinsinden çeviriyorum(987654.000000),

    3-bu 6 basamaklı sayıyı da resimlerdeki formülleri kullanıp virgülleri kaydırarak 2 şer basamaklı 3 farklı sayıya çeviriyorum,(2 şer basamağa çevirdim çünkü 255 ten sonra değişkeni sıfırlıyor,bu şekilde 0 dan 999999 aralığındaki sayıları kaydedebiliyorum,aşağıdaki adımları arttırarak daha büyük sayılarıda kaydedebilirsiniz.)buradan da aşağıdaki 32 bit lik sayılar çıkıyor;

    98.76.54 den (9=1.basamak,8=2.basamak,......,4=6.basamak)

    float_1_2basamak:98.765400

    float_3_4basamak:76.540000

    float_5_6basamak:54.000000

    4-bu floatpoint cinsinden sayıları ayrı ayrı addr leri 0,1,2 olmak üzere eeprom a kaydediyorum(eeprom virgül ün solundaki değerleri kaydediyor),

    5-aynı addr lerden bu değerleri okuyup aşağıdaki değişken isimlerine çıkarıyorum;

    read_float_1_2basamak:98.000000

    read_float_3_4basamak:76.000000

    read_float_5_6basamak:54.000000


    6-eepromdan okuduğum 1. ve 2. basamağın olduğu değişkene olduğu gibi alacağım için dokunmuyorum,

    eepromdan okuduğum 3. ve 4. basamağın olduğu değişkeni 100 e bölüyorum,

    eepromdan okuduğum 5. ve 6. basamağın olduğu değişkeni 10000 e bölüyorum ve aşağıdaki sayıları elde ediyorum

    read_float_1_2basamak:98.000000

    read_float_3_4basamak:00.760000

    read_float_5_6basamak:00.005400


    7-"float_123456_total" adı altında bu 3 değişkeni topluyorum 98.765400 sayısını elde ediyorum

    8-"float123456_total" i 10000 ile çarpıyorum,

    9-"float_123456_total" isimli değişkeni "float2int" komutuyla "cikis_sayı" isimli değişkene çevirip ilk girdiğim sayı yı aynı türden elde ediyorum.



     flowcode eeprom a 255 ten büyük sayı kaydetme sorunu flowcode eeprom a 255 ten büyük sayı kaydetme sorunu flowcode eeprom a 255 ten büyük sayı kaydetme sorunu



    < Bu mesaj bu kişi tarafından değiştirildi ccharliee -- 29 Nisan 2015; 3:30:56 >




  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.