BACnet协议栈中的确认型回调函数通常会被传入三个参数:BACNET_ADDRESS *src
、uint8_t *apdu
和uint16_t apdu_len
。
-
BACNET_ADDRESS *src
参数表示请求的源地址,它是一个指向BACNET_ADDRESS
结构体的指针。该结构体包含了请求的源地址信息,比如发送方的网络号、MAC地址等。
-
uint8_t *apdu
参数表示请求的APDU数据单元,它是一个指向字节数组的指针。APDU是BACnet协议中用于传输数据的数据单元,它包含了请求的具体内容,比如读取属性操作的对象ID、属性ID等信息。
-
uint16_t apdu_len
参数表示请求的APDU数据单元的长度,它是一个无符号16位整数。通过这个参数,我们可以知道APDU数据单元的长度,从而正确解析请求的内容。
下面是一个示例代码,演示了如何在确认型回调函数中获取这三个参数:
void handle_read_property(
BACNET_ADDRESS *src,
uint8_t *apdu