Forum » Programiranje » printf NULL karakterja
printf NULL karakterja
purki ::
Živjo!
Problem me spravlja že ob živce, zato sem se odločil povprašati še tule.
Namreč: Imam PIC32 mikrokrmilnik, ki preko serijskega porta krmili neko napravo. Ukazi za krmiljenje so shranjeni v EEPROMu (Pelco protokol). Ukazi vsebujejo skoraj kompleten nabor ASCII znakov. Problem je z izpisovanjem, saj naprimer asci NULL (prvi v tabeli) pomeni zaključevanje stavka in do njenega izpisa preko printf funkcije sploh ne pride.
Torej: Kako naj izpišem prvi ASCII znak NULL oz. '\0' preko printf??? Ali to gre.
Problem me spravlja že ob živce, zato sem se odločil povprašati še tule.
Namreč: Imam PIC32 mikrokrmilnik, ki preko serijskega porta krmili neko napravo. Ukazi za krmiljenje so shranjeni v EEPROMu (Pelco protokol). Ukazi vsebujejo skoraj kompleten nabor ASCII znakov. Problem je z izpisovanjem, saj naprimer asci NULL (prvi v tabeli) pomeni zaključevanje stavka in do njenega izpisa preko printf funkcije sploh ne pride.
Torej: Kako naj izpišem prvi ASCII znak NULL oz. '\0' preko printf??? Ali to gre.
misek ::
pač ne uporabi funkcijo printf in napiši svojo, ki izpisuje znak po znak. In namesto prepovedanih znakov izpiše znak za piko. Tako kot prikazuje hexdump program:
000001b0 00 87 00 af 03 01 22 00 02 11 01 03 11 01 ff c4 |......".........| 000001c0 00 1d 00 00 00 07 01 01 01 00 00 00 00 00 00 00 |................| 000001d0 00 00 00 00 03 04 05 06 07 08 09 02 01 ff c4 00 |................| 000001e0 3f 10 00 02 01 03 02 04 03 06 04 05 02 04 07 01 |?...............| 000001f0 00 00 01 02 03 04 05 11 00 06 07 12 21 31 13 41 |............!1.A|
teey ::
purki, printf() uporabljaš da pošlješ ukaze preko serijske povezave, če te prav razumem?
No, v tem primerju enostavno uporabi funkcijo write(), podaš ji začetek ukaza in njegovo dolžino, in bo poslano brez kakšnih tumparij s strani NULL terminatorjev.
No, v tem primerju enostavno uporabi funkcijo write(), podaš ji začetek ukaza in njegovo dolžino, in bo poslano brez kakšnih tumparij s strani NULL terminatorjev.
Zgodovina sprememb…
- spremenil: teey ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Napaka pri TCP Hanshake-uOddelek: Omrežja in internet | 2015 (1645) | AndrejO |
» | SSD ni možno nastaviti kot Boot OptionOddelek: Strojna oprema | 4375 (3250) | BorutK-73 |
» | HEX uganka - formula - nagrada :)Oddelek: Programiranje | 3413 (1896) | Silikon |
» | Pridobitev podatkov in sortiranjeOddelek: Programiranje | 926 (747) | Spura |
» | navijanje dellaOddelek: Navijanje | 1171 (1063) | MecH |