Нет, это недопустимый код C без расширений, определенных для реализации.Инициализация статической переменной должна быть константным выражением. указано , что является константным выражением - результат функции отсутствует в этом списке.Стандарт C позволяет реализации принимать другие формы константных выражений, поэтому с определенным реализацией расширением для принятия таких операторов это может быть действительный код C.В любом случае, я подозреваю, что это не тот случай.
Строка
static uint32_t tSLoop = ReadCoreTimer();
взята из LoopStats.cpp , который является файлом C ++.