можно еще воспользоваться битовыми полями...
вот тут про это немного написано: http://www.opennet.ru/docs/RUS/bogatyrev/gl_5_1.html
но машинный код тоже медленнее и длиннее зато компактнее сами данные, например для передачи, или хранения...
единственное, я бы наверно посоветовал бы еще делать явное преобразование типов... а не доверять все это компилятору... разные компиляторы могут выполнять преобразование типов и битовые операции с разными приоритетами, что может привести к ошибкам... просто совет, всегда следить за типами, и явно их ...
ладно всем спасибо
будем искать таки в чем дело
я думаю что в версии, или в том что как-нить криво встал winavr...
надо будет переставить на более раннюю версию...
попробовать...
Да, спасибо ARV. Я поковырялся в WinAvr'e и видел про эту директиву... Вообще чтобы работала функция dtostrf и вообще printf надо немного пошаманить над makefail'ом. Вот что пишется в стандартном makefail'е:
#---------- Library Options ---------- # Minimalistic printf version PRINTF_LIB_MIN ...
Благодарю Kalipso.
Эх, да в том то вся и проблема что хочется на WinAvr'e написать...
Так то dtostrf и в CodeVision работает...
Но в силу некоторых обстоятельств проект должен быть именно опен сорсовый )))
А твой AtmanAVR 5.8, я так погуглил, еще и крякнуть никто толком не может )))
прошу помощи всезнающие коты ))) не хочет у меня работать функция dtostrf хоть тресни от злости ... ((( а не хочет она именно в winavr'e работать, парит жутко... даже свою подобную функцию написал, НО даже она, именно в winavr'e не работает!!! Проверял обе в стареньком QC компиляторе, в котором они ...