Definicja typu:
typedef struct
{
volatile uint8_t *port;
uint8_t pin_bm;
volatile uint16_t pulse_high;
volatile uint16_t pulse_low;
} aparat;
Użycie:
aparat canon = {&PORTC, _BV(PC3),100,200};
Lub w postaci tablicy:
aparat aparaty[4] = {
{&PORTC, _BV(PC3),10,100},
{&PORTC, _BV(PC2),20,100},
{&PORTC, _BV(PC1),30,100},
{&PORTC, _BV(PC0),40,100}
};
Źródło: http://stackoverflow.com/questions/2641473/initialize-static-array-of-structs-in-c