1、今天在网上看见c语言编写stm32代码用函数指针非常方便,清晰易读,在此做一下笔记;
具体代码如下:
//*** 函数指针定义******//
typedef uint8_t(*fun_t)(uint8_t, uint8_t);
//**** 结构体 变量和函数*****//
typedef struct
{
uint8_t a; //数据a
uint8_t b; //数据b
fun_t function; //函数function
}TYP_DATA;
//**** 函数方法,相加*****//
uint8_t operation_fun(uint8_t aa, uint8_t bb)
{
uint8_t result; //返回值
result = aa+bb; //相加
return result;
}
uint8_t result; //返回值变量
TYP_DATA sdata; //结构体变量声明
sdata.function = operation_fun; //赋值函数方法
sdata.a = 10; //变量赋值
sdata.b = 20; //变量赋值
result = sdata.function(sdata.a, sdata.b); //方法调用,两变量相加