Definition of a array of char[] fails, if its size is > 8
Hello community,
I use CubeIde to program my STM32 L051R6T6.
Language is C.
I do the following definition in a .c file:
enum internalFaults{
internalFaultsTransmitPrepare,
internalFaultsTransmit,
internalFaultsWatchdogAlarm,
internalFaultsTelegramsRxSequence,
internalFaultsNoTelegramsReceived,
internalFaultsTelegramsNotEqual,
internalFaultsTelegramProcessing,
internalFaultsMaxim5320EAI,
internalFaultsUARTRead,
internalFaultsUARTStartRxInterrupt,
internalFaultsCount,
};
const char* internalFaultNames[internalFaultsCount] =
{
"TransmitPrepareFault",
"TransmitFault",
"WatchdogExeededFault",
"TelegramsRxSequenceFault",
"NoTelegramsReceivedFault",
"TelegramsNotEqualFault",
"TelegramProcessingFault",
"Maxim5320EAIFault"
"UARTReadFault"
"UARTStartRxInterrupt"
};
There is no write access to internalFaultNames or to its char[]'s.
But when I read from it
strcat(message,internalFaultNames[faultIndex]);It only works, if faultIndex is 0 <=faultIndex<8.
internalFaultNames[internalFaultsUARTRead] and internalFaultNames[internalFaultsUARTStartRxInterrupt]
are NULL.
This I can see in the debugger too.
Is this a special restriction of STM32 MCU or the Compiler user in CubeIDE?
Thank you.

