Şimdi şöyle bir derdim var.
Elimde birkaç tane binary dosya var. Bu dosyları bilgisayardan mcu ya, mcu dan da başka bir sisteme (Niyahi alıcı) göndermem gerekiyor.
Elimde bu iş ile ilgili protokoller var o konuda bir sıkıntı yok.
Temel mantık söyle der;
1. veriyi en fazla 256kb lık paketler şeklinde gönder.
2. her paketin başına header, paket boyutu, ve komut ekle sonra veriyi gönder ama herşey dahil 256 yı aşma...
3. her paket gittikten sonra yeni paket için cevap gelecek... sonra yeni paket gönderilecek. vs...
Headerı vs atalım olayı basitleştirelim. Ne kadar veri + veri şeklinde bir yapı olsun.
ham verimiz 300byte olsun.
255 (byte veri) + 255(byte ham veri) = 256byte (1. paket)
45(byte veri) + 45 (byte ham veri) = 46byte (2. paket)
Hex düşünecek olursak brinci paket 255 veri içeriği için FF ile ikinci paket 2D ile başlayacak.
FF XX XX XX XX ...... XX
2D XX .... XX
Şimdi binary datayı paketleme işini bilgisayar yazılımına yaptırcağım ki mcu ya çok iş düşmesin. MCU al ver yapacak bu nedenle o tarafa şu anda çok kafa yormuyorum.
python ile bir iki deneme yaparak dosyadan binary okuma, hexe çevirme, ascii görüntüleme olaylarını çözdüm. Bu python da { açmayınca bir tuhaf geliyor
Nasıl bir algoritma kurayım diye kafam karışmıştı onuda galiba yazarken çözdüm.
Önce toplam boyutu tespit edip son paketteki veri miktarını göz önünde bulundurmalıyım.
sonra iç içe koşullu iki döngü ile bu işi halledebilirim sanırım.
Tamam sorum yok. Boşuna okudunuz.