BACnet协议栈apdu_set_confirmed_handler函数中的确认型回调函数是如何传参的

BACnet协议栈中的确认型回调函数通常会被传入三个参数:BACNET_ADDRESS *srcuint8_t *apduuint16_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

你可能感兴趣的:(BACnet产品开发进阶,网络协议,c#,c语言,开发语言,tcp/ip)