Если известен тип указателя на функцию, то это делается так:
Использование указателя на функцию:
// Описание типа указателя на функцию, которая принимает один аргумент типа uint8_t и возвращает uint8_t.
typedef uint8_t ( * funcptr )( uint8_t arg );
// Указываем адрес функции.
funcptr myfunc = ( funcptr ) 0xF000U;
// Вызов функции.
uint8_t ret = myfunc(1);
Если известен тип указателя на функцию, то это делается так:
Использование указателя на функцию:
// Описание типа указателя на функцию, которая принимает один аргумент типа uint8_t и возвращает uint8_t.
typedef uint8_t ( * funcptr )( uint8_t arg );
// Указываем адрес функции.
funcptr myfunc = ( funcptr ) 0xF000U;
// Вызов функции.
uint8_t ret = myfunc(1);
Спасибо большое, но я уже разобрался)
Вы второй человек кто ответил нормально, а не начал гнать, спасибо за понимание
Вот единственное в чем я не разобрался — это как достать адрес из памяти, но я использовал программу reavr и смотрел адрес. Мне кажется, что можно как-то проще
На данном сайте используются файлы cookie, чтобы персонализировать контент и сохранить Ваш вход в систему, если Вы зарегистрируетесь.
Продолжая использовать этот сайт, Вы соглашаетесь на использование наших файлов cookie.