STM32F407 宏定义实现函数错误返回

发布时间 2023-04-26 15:21:32作者: 掌控命运

开发环境:Window10 + MDK + STM32F407

实现目的:针对在函数内部需要对各个执行的子函数判断错误返回的场合,用宏定义替换繁琐的编码

代码实现:

 1 /* 这种写法怎样 注册宏定义,故障返回批量处理  注册函数不能写在线程内部 */
 2 #define ET_(...) if (!__VA_ARGS__)                  \
 3         {                                           \
 4             Log("%s Error Return\r\n", __func__);   \
 5             return false;                           \
 6         }                                           \
 7 
 8 /* 注册自带错误返回的函数接口 如果返回值false,所在的函数也会退出并返回false */
 9 #define etValveCtrl(...)            ET_(aMachine_SetValveState(__VA_ARGS__))
10 #define etInjector_Pop(...)         ET_(Injector_Pop(__VA_ARGS__))
11 #define etInjector_Push(...)        ET_(Injector_Psh(__VA_ARGS__))
12 #define etINjector_Store(...)       ET_(INjector_Store(__VA_ARGS__))

1、封装返回的固定模式,支持不定长参数。

2、封装具体函数实例。