关于宏定义,定义多个inline函数

2020-01-22 12:02发布

#define MAKE_NEW_PIN(name, pin, pin_dir, pin_sel, pin_dir_bit, pin_inp, pin_inp_bit)
  inline async command bool name.get()        { return ( pin != 0); }
  inline async command void name.set()        { pin = 1; }
  inline async command void name.clr()        { pin = 0; }
  async command void        name.toggle()     { atomic { pin = ~pin; } }

请教下,如果按照上面的宏定义,有几个疑问,想请教下
(1) 这个宏定义,是不是定义了多个内联函数
(2)这个内联函数中又有get()  set()等函数, 这个宏定义是如何执行的,如果MAKE_NEW_PIN(P00, P0_0, P0DIR, P0_ALT, 0, P0INP, 5); 是不是宏定义上面的get set clr togle都去执行了

对上面的问题也没理解懂,可能问题未必写到点上面,麻烦有知道的帮忙下。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。