Flash hafızaya float tipinde deger kaydetme ve okuma işlemi

Başlatan universitelim54, 28 Temmuz 2019, 13:32:09

universitelim54

Mrb. arkadaşlar

stm32f407 discovery kartımın flash hafızasına float tipinde bir değer yazıp okumak istiyorum. ancak mevcut microc kütüphanesinde böyle bişey bulamadım. hafızaya float tipinde bir değişken yazma konusunda yardımlarınızı rica ederim ...



z

Sayi float da olsa sonucta hafizada byte byte siralanmis ardisil verilerden olusuyor.

Dolayisi ile hic sorun yok.

Float sayiyi rama yaz. Sada sonra ramdaki datayi byte byte oku. Float sayinin kac byte yer kapladigi zaten belli.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

universitelim54

konuyu daha iyi almak için bir örnek kod ile anlatmanız mümkünmü hocam

z

A float degisken olsun.

P diye byte pointer olustur.

P ye A float degiskeninin adresini yukle.

Sonra da P pointerinin gosterdigi veriyi oku. Bir sonrakini oku, bir sonrakini oku...

Kac kez okuyacagin float degiskenin hangi standartta olduguna bagli muhtemelen 4 bytedir. Ya da dogrudan sizeof ile float degiskenin boyunu ogren. O kadar byte oku.

Hos olmayan bir diger yontem ise;

Float degeri stringe cevir. Flasha stringi yaz.
Okurken de string oku floata cevir.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

baran123

packed yapmaya dikkat et
typedef __packed union {
	struct {
		float data;
	};
	struct {
		uint8_t dataBytes[4];
	};
}FloatToBytes;

kantirici