我目前正在使用Decawave DWM1000,并在网上找到了示例库(https://github.com/thotro/arduino-dw1000(。我们打算出于自己的目的操作库和代码函数。但是,该库可能不完整,并且使用了几种我不理解的语法。
1(当在变量的后面添加*是什么意思(例如。DW1000设备*(似乎无法在网上找到答案。通常只看到前面使用的*。
2(你如何理解函数中的空洞 另外,你如何使用(函数1((函数2((请参阅下面的复杂代码块(
QNS1//在正面和背面使用 * 是什么意思 例如。(* _handleBlinkDevice((DW1000设备*(
static void (* _handleNewRange)(void);
static void (* _handleBlinkDevice)(DW1000Device*);
static void (* _handleNewDevice)(DW1000Device*);
static void (* _handleInactiveDevice)(DW1000Device*);
QNS2//在功能附加 BlinkDevice 中,里面有空隙,为什么里面还有另外 2 个括号(* handleBlinkDevice((DW1000Device*(?
static void attachBlinkDevice(void (* handleBlinkDevice)(DW1000Device*)) { _handleBlinkDevice = handleBlinkDevice; };
1(当在变量的后面添加*是什么意思(例如。DW1000Device*( 似乎无法在线找到答案。通常只看到前面使用的*。
静态空隙 (* _handleBlinkDevice((DW1000设备*(;
DW1000Device 不是变量名称,而是类型名称
_handleBlinkDevice
是一个变量,其类型是一个不返回任何内容 (void( 的函数,并在参数中获取指向 DW1000Device 的指针
2(你如何理解函数中的空虚空 另外,你如何使用(函数1((函数2((参见下面的复杂代码块(
静态空隙(* _handleNewRange((空隙(;
_handleNewRange
是一个变量,其类型是一个不返回任何 (void( 且不返回任何参数的函数
此表示法声明函数指针,void
是其返回类型(* pointer_name)
是指针名称,(Type*)
是参数列表,对于此特定情况,参数是指向DW1000Device
的指针