inicjalizacja tablicy struktur w c

0

Mam problem z zainicjalizowaniem tablicy struktur. Kompilator wywala mi błąd expected '=', ',', ';', 'asm' or '__attribute__' before '{' token

TimeSettings.h

#ifndef __TIMESETTINGS__TYPES
#define __TIMESETTINGS__TYPES
#include "stm32f1xx_hal.h"
#include "I2C.h"
#include "display.h"

void SetTime (void);
void SetModeTime (int mode);

extern TIM_HandleTypeDef htim2;
extern volatile uint8_t timeMode;

extern uint8_t button1;
extern uint8_t v;

extern void SetPeriodEncoder (TIM_TypeDef *TIM, uint8_t maxV);

typedef struct {
	uint8_t rtcData;
	uint8_t tubeData;
}ModeTimeData;

#endif

TimeSettings.c

#include "TimeSettings.h"


void SetTime (void) {

	struct ModeTimeData tab12h[2] {
			{0b01010010,12},
			{0b01000001,1}
	};

//...
}
2

struct ModeTimeData Nie masz struktury o takiej nazwie.

0b01000001 C nie ma literałów binarnych

tab12h[2] {tab12h[2] = {

0

Dzięki, nieraz patrzę, patrzę i nie widzę takich idiotycznych błędów :D

0

Polecam dodawać "_t" do nazw uzyskanych przez typedef. Wtedy błąd byłby od razu widoczny. Pozdrawiam

typedef struct {
   uint8_t rtcData;
   uint8_t tubeData;
}ModeTimeData_t;

struct ModeTimeData_t tab12h[2]... // błąd rzuca się w oczy

1 użytkowników online, w tym zalogowanych: 0, gości: 1