Цитата(Pavel_Bor @ Jul 1 2011, 14:18)

Но все-таки пришлось убрать uint8_t хотя они в данном случае и не нужны.
в global.h или types.h (который добавляется во все без исключения файлы)
опишите типы которые вам всегда нужны:
Код
typedef unsigned char U8, uint8_t;
typedef unsigned short U16, uint16_t;
typedef unsigned long U32, uint32_t;
typedef unsigned long long U64, uint64_t;
typedef signed char S8, int8_t;
typedef signed short S16, int16_t;
typedef signed long S32, int32_t;
и т.д.
и будет щастье, таскайте его потом за собой во все проекты.
Цитата
есть ли они под CVAVR
Есть ли C++ в CVAVR? Пользуйте нормальный компилятор (IAR / WinAVR) и будет.
Цитата
можно ли писать функции внутри структуры?
в C можно использовать callback'и
Код
typedef struct tagSOME_CONEXT
{
void (*OnRead)(struct tagSOME_CONTEXT *);
void (*OnWrite)(struct tagSOME_CONTEXT *);
void (*DoSmthSimple)(void);
} TSOME_CONTEXT, *PSOME_CONTEXT;
TSOME_CONTEXT someContext;
void BlinkLed(void)
{
PORTB = 0xff;
delay_ms(10);
PORTB = 0x0;
}
someContext.DoSmthSimple = BlinkLed; // <- назначить колбэк
someContext.DoSmthSimple(); // <-- вызвать колбэк