Очень рад вас видеть, All!
=== Cut === avr-gcc-3.3.2
/* Description : Output 1 Byte Hexadecimal digit to 2Byte ASCII character. Argument : byData - character to output
*/ void PutHTOA(UCHAR byData) { char *HexDigit =PSTR("0123456789ABCDEF"); PutByte(pgm_read_byte(HexDigit+((byData>>4)&0x0f))); PutByte(pgm_read_byte(HexDigit+(byData&0x0f))); }/* Description : Output 2 Byte Integer to 4Byte ASCII character Argument : byData - Integer to output
*/ void PutITOA(UINT byData) { PutHTOA((byData>>8) & 0xFF); PutHTOA(byData & 0xFF); }// i типа унс.чар и SSIZE[] типа unsigned int
//кусок с глюком //----------------------------- break; case 1: SSIZE[i] = 2048; SMASK[i] = 0x000007FF; PutITOA(SSIZE[i]); PutITOA(SSIZE[i]); break; case 2: //----------------------------- //выводит:08000202 === Cut ===
первый вывод - 0800 верный, второй 0202 - фигня... кусок листинга здоровый, цеплять не буду (пока)
кусок МАКЕ (флаги компилятора)
=== Cut ===
OPT = s
CSTANDARD = -std=gnu99
# Place -D or -U options here CDEFS =
# Place -I options here CINCS =
# Compiler flags. # -g: generate debugging information # -O*: optimization level # -f...: tuning, see GCC manual and avr-libc documentation # -Wall...: warning level # -Wa,...: tell GCC to pass this to the assembler. # -adhlns...: create assembler listing CFLAGS = -g CFLAGS += $(CDEFS) $(CINCS) CFLAGS += -O$(OPT) CFLAGS += -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums CFLAGS += -Wall -Wstrict-prototypes CFLAGS += -Wa,-adhlns=$(<:.c=.lst) CFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS)) CFLAGS += $(CSTANDARD)
=== Cut ===
AVL