跳转至

utils

utils 模块提供 NFC 协议处理中常用的数值计算工具函数,包括取最小值、取最大值、多字节组合与字节提取等操作。

头文件清单

#include "include/middleware/services/nfc/controller/nfc_utils.h"

接口清单

接口名称 功能简述
UTIL_Min 返回两个int32_t数值的较小值
UTIL_Max 返回两个int32_t数值的较大值
UTIL_Combine8bitTo16bit 将2个8bit数值组合为1个16bit数值
UTIL_Combine8bitTo32bit 将4个8bit数值组合为1个32bit数值
UTIL_Byte3 获取32bit无符号整型的最高字节(第3字节)
UTIL_Byte2 获取32bit无符号整型的次高字节(第2字节)
UTIL_Byte1 获取32bit无符号整型的次低字节(第1字节)
UTIL_Byte0 获取32bit无符号整型的最低字节(第0字节)

Functions

UTIL_Min

static inline int32_t UTIL_Min(int32_t x, int32_t y)

头文件清单

#include "include/middleware/services/nfc/controller/nfc_utils.h"

功能说明

  • 返回两个int32_t输入数值中的较小值
  • 用于NFC协议处理中的数值比较与边界限定场景
  • 无副作用,纯计算函数,可安全在中断上下文及多线程环境中调用

入参

名称 参数类型 详细说明 约束取值范围
x int32_t 第一个输入值 INT32_MIN ~ INT32_MAX
y int32_t 第二个输入值 INT32_MIN ~ INT32_MAX

返回值

  • 返回类型:int32_t
返回值 文字含义 触发场景
x和y中的较小值 两数中的最小值 正常调用

UTIL_Max

static inline int32_t UTIL_Max(int32_t x, int32_t y)

头文件清单

#include "include/middleware/services/nfc/controller/nfc_utils.h"

功能说明

  • 返回两个int32_t输入数值中的较大值
  • 用于NFC协议处理中的数值比较与上限限定场景
  • 无副作用,纯计算函数,可安全在中断上下文及多线程环境中调用

入参

名称 参数类型 详细说明 约束取值范围
x int32_t 第一个输入值 INT32_MIN ~ INT32_MAX
y int32_t 第二个输入值 INT32_MIN ~ INT32_MAX

返回值

  • 返回类型:int32_t
返回值 文字含义 触发场景
x和y中的较大值 两数中的最大值 正常调用

UTIL_Combine8bitTo16bit

static inline uint16_t UTIL_Combine8bitTo16bit(uint8_t b1, uint8_t b0)

头文件清单

#include "include/middleware/services/nfc/controller/nfc_utils.h"

功能说明

  • 将2个8bit数值组合为1个16bit数值,b1作为高字节,b0作为低字节
  • 用于NFC协议数据帧解析中多字节合并为短整型的场景
  • 无副作用,纯计算函数,可安全在中断上下文及多线程环境中调用

入参

名称 参数类型 详细说明 约束取值范围
b1 uint8_t 高位字节 0 ~ 255
b0 uint8_t 低位字节 0 ~ 255

返回值

  • 返回类型:uint16_t
返回值 文字含义 触发场景
组合后的16bit数值 高字节b1与低字节b0组合结果 正常调用

UTIL_Combine8bitTo32bit

static inline uint32_t UTIL_Combine8bitTo32bit(uint8_t b3, uint8_t b2, uint8_t b1, uint8_t b0)

头文件清单

#include "include/middleware/services/nfc/controller/nfc_utils.h"

功能说明

  • 将4个8bit数值组合为1个32bit数值,b3为最高字节,b0为最低字节
  • 用于NFC协议数据帧解析中多字节合并为32位整型的场景
  • 无副作用,纯计算函数,可安全在中断上下文及多线程环境中调用

入参

名称 参数类型 详细说明 约束取值范围
b3 uint8_t 最高位字节 0 ~ 255
b2 uint8_t 次高位字节 0 ~ 255
b1 uint8_t 次低位字节 0 ~ 255
b0 uint8_t 最低位字节 0 ~ 255

返回值

  • 返回类型:uint32_t
返回值 文字含义 触发场景
组合后的32bit数值 四字节b3/b2/b1/b0组合结果 正常调用

UTIL_Byte3

static inline uint8_t UTIL_Byte3(uint32_t val)

头文件清单

#include "include/middleware/services/nfc/controller/nfc_utils.h"

功能说明

  • 获取32bit无符号整型的最高字节(第3字节,bit24~bit31)
  • 用于NFC协议数据帧解析中从32位数据提取高位字节的场景
  • 无副作用,纯计算函数,可安全在中断上下文及多线程环境中调用

入参

名称 参数类型 详细说明 约束取值范围
val uint32_t 输入数值 0 ~ 4294967295

返回值

  • 返回类型:uint8_t
返回值 文字含义 触发场景
val的最高字节 输入值的bit24~bit31位 正常调用

UTIL_Byte2

static inline uint8_t UTIL_Byte2(uint32_t val)

头文件清单

#include "include/middleware/services/nfc/controller/nfc_utils.h"

功能说明

  • 获取32bit无符号整型的次高字节(第2字节,bit16~bit23)
  • 用于NFC协议数据帧解析中从32位数据提取次高字节的场景
  • 无副作用,纯计算函数,可安全在中断上下文及多线程环境中调用

入参

名称 参数类型 详细说明 约束取值范围
val uint32_t 输入数值 0 ~ 4294967295

返回值

  • 返回类型:uint8_t
返回值 文字含义 触发场景
val的次高字节 输入值的bit16~bit23位 正常调用

UTIL_Byte1

static inline uint8_t UTIL_Byte1(uint32_t val)

头文件清单

#include "include/middleware/services/nfc/controller/nfc_utils.h"

功能说明

  • 获取32bit无符号整型的次低字节(第1字节,bit8~bit15)
  • 用于NFC协议数据帧解析中从32位数据提取次低字节的场景
  • 无副作用,纯计算函数,可安全在中断上下文及多线程环境中调用

入参

名称 参数类型 详细说明 约束取值范围
val uint32_t 输入数值 0 ~ 4294967295

返回值

  • 返回类型:uint8_t
返回值 文字含义 触发场景
val的次低字节 输入值的bit8~bit15位 正常调用

UTIL_Byte0

static inline uint8_t UTIL_Byte0(uint32_t val)

头文件清单

#include "include/middleware/services/nfc/controller/nfc_utils.h"

功能说明

  • 获取32bit无符号整型的最低字节(第0字节,bit0~bit7)
  • 用于NFC协议数据帧解析中从32位数据提取最低字节的场景
  • 无副作用,纯计算函数,可安全在中断上下文及多线程环境中调用

入参

名称 参数类型 详细说明 约束取值范围
val uint32_t 输入数值 0 ~ 4294967295

返回值

  • 返回类型:uint8_t
返回值 文字含义 触发场景
val的最低字节 输入值的bit0~bit7位 正常调用