Если я правильно понял задачу, то в основном файле (или в любом C++ файле проекта):
#include <Arduino_GFX_Library.h>
Arduino_GFX *gfx = new Arduino_ILI9341(bus, DF_GFX_RST, 0 /* rotation */, false /* IPS */);
extern "C" void writedata(uint8_t d) //эта функция будет вызываться из си файла
{
gfx->writedata(d);
}
Вызов из C-файла может выглядеть примерно так:
void writedata(uint8_t d);
uint8_t d;
......
writedata(111);
......
d = 222;
writedata(d);