Как правильно работать с указателями void

подскажите как правильно работать с указателями на функцию void при передаче этого указателя в качестве аргумента в другую функцию. Имеются около 10 функций вида:

void func_xx (void)

они используются для вывода текста LCD на дисплей, напрямую из main не вызываются. Их я хочу ввести в качестве аргумента в более сложную функцию, вызываемую из main

void parametr_edit (int8 x, int16 y, <тут должен быть указатель на void func_xx (void)> )

с точки зрения ассемблера, в коде функции parametr_edit должен быть обычный вызов одной из функций func_xx. Попробовал поискать в интернете, но в основном попадается указатель на не void. За 3 года работы впервые сталкнулся с указателями на функции, да ито потому, что потребовалось освободить немного места в ПЗУ МК. Решаем ли такой вопрос, и с чего начинать?


Ответы (2 шт):

Автор решения: Harry

Просто

void (*)(void)

См., например, https://ideone.com/00Zskj

Только уверен — ничего вы в Интернете не искали...

→ Ссылка
Автор решения: d_bor

Как только что выяснилось, на Гарвардской платформе устройства, не действуют обычные правила установленные для С работающего с платформой единого пространства адресации. Здесь приходится подшаманить при работе с указателями на функции размещенных в ПЗУ (для указателей на данные в ОЗУ все работает прекрасно) пример

typedef void (*PTR)();

void func()
{
printf("Hello World\n\r");
}

void call(PTR argument)
{
argument();
}

при вызовах в main

call(func);

без этого к сожаленью не заработало

→ Ссылка