Vill ha enum till att välja men nej...?
Postat: 16 april 2025, 11:39:17
Jag har nu fått sprutt på projektet på arbetet, det visade sig att om man använder ett FUNGERANDE kretskort, blir livet enklare...
Nåväl, samma (i stort) mjukvara används till en del lite olika projekt - som har olika namn.
Jag har vald att definiera vilket projekt i en gemensam definition då det tidigare var en "välling" av "om det är denna typ projekt..." och det gav ingen överskådlighet.
Men jag kunde tänka mig att ha:
stående i en egen fil ('project_types.h').
Denna inkluderas i 'main.h' varefter man sedan - i 'main.h' - skriver:
#include "project_types.h"
#define THIS_PROJECT_TYPE Project_Type_B
I resten av programmet finns THIS_PROJECT_TYPE sedan med och kan användas till att välja hur funktioner ska göra och OM de ska finnas.
Men det fungerar inte!
Om jag däremot skriver:
#define Project_Type_A = (1)
#define Project_Type_B = (2)
#define Project_Type_C = (3)
osv.
istället för den enum fungerar allt som tänkt.
Projekten är STM32, använder STM32CubeIDE och GNU11 språkversion.
Vad gör jag fel?
Nåväl, samma (i stort) mjukvara används till en del lite olika projekt - som har olika namn.
Jag har vald att definiera vilket projekt i en gemensam definition då det tidigare var en "välling" av "om det är denna typ projekt..." och det gav ingen överskådlighet.
Men jag kunde tänka mig att ha:
Kod: Markera allt
enum
{
Projekt_type_A = 0,
Projekt_type_B,
Projekt_Type_C,
osv.
};
Denna inkluderas i 'main.h' varefter man sedan - i 'main.h' - skriver:
#include "project_types.h"
#define THIS_PROJECT_TYPE Project_Type_B
I resten av programmet finns THIS_PROJECT_TYPE sedan med och kan användas till att välja hur funktioner ska göra och OM de ska finnas.
Men det fungerar inte!
Om jag däremot skriver:
#define Project_Type_A = (1)
#define Project_Type_B = (2)
#define Project_Type_C = (3)
osv.
istället för den enum fungerar allt som tänkt.
Projekten är STM32, använder STM32CubeIDE och GNU11 språkversion.
Vad gör jag fel?