SSI
SSI(Synchronous Serial Interface)是精简的同步串行接口——去除 CPOL/CPHA/帧格式等配置,直接发送"地址+数据",专为寄存器级外设通信优化。
支持 4 种地址/数据组合模式(addr16_data16、addr32_data16、addr32_data32 等)。适用 RF 前端、PMIC 等寄存器配置型外设。
头文件清单
接口清单
接口名称 功能简述 uapi_ssi_init 初始化SSI驱动 uapi_ssi_deinit 去初始化SSI驱动 uapi_ssi_read_addr16_data16 通过16位地址读取SSI 16位寄存器 uapi_ssi_write_addr16_data16 通过16位地址写入SSI 16位寄存器 uapi_ssi_read_addr32_data16 通过32位地址读取SSI 16位寄存器 uapi_ssi_write_addr32_data16 通过32位地址写入SSI 16位寄存器 uapi_ssi_read_addr32_data32 通过32位地址读取SSI 32位寄存器 uapi_ssi_write_addr32_data32 通过32位地址写入SSI 32位寄存器
Functions
uapi_ssi_init
头文件清单
功能说明
- 初始化SSI驱动模块,完成SSI控制器硬件资源配置
- 调用前需确保SSI硬件时钟已使能
- 该接口应在其他SSI读写操作之前调用
前置条件
- SSI硬件时钟已使能
- SSI硬件资源未被其他模块占用
uapi_ssi_deinit
头文件清单
功能说明
- 去初始化SSI驱动模块,释放SSI控制器硬件资源
- 调用后不应再执行SSI读写操作
- 重复调用不产生异常
前置条件
- SSI模块已通过uapi_ssi_init()初始化完成
uapi_ssi_read_addr16_data16
头文件清单
功能说明
- 通过16位地址读取SSI 16位寄存器值
- 适用于访问16位地址空间的SSI寄存器
- 读取结果通过出参data返回
前置条件
- SSI模块已通过uapi_ssi_init()初始化完成
- 入参data不为NULL,且指向内存空间已申请成功
入参
名称 参数类型 详细说明 约束取值范围 addr uint16_t 读取的寄存器地址 0x0000 ~ 0xFFFF data uint16_t * 指向存储读取数据的指针 非NULL
出参
名称 数据类型 输出说明 data uint16_t * 存储读取到的16位寄存器值
返回值
返回值 文字含义 触发场景 ERRCODE_SUCC(0x00) 执行成功 寄存器读取成功 Other 其他错误码,参考errcode_t 执行失败
uapi_ssi_write_addr16_data16
头文件清单
功能说明
- 通过16位地址写入SSI 16位寄存器
- 适用于访问16位地址空间的SSI寄存器
- 写入值为16位宽
前置条件
- SSI模块已通过uapi_ssi_init()初始化完成
入参
名称 参数类型 详细说明 约束取值范围 addr uint16_t 写入的寄存器地址 0x0000 ~ 0xFFFF value uint16_t 写入的寄存器值 0x0000 ~ 0xFFFF
返回值
返回值 文字含义 触发场景 ERRCODE_SUCC(0x00) 执行成功 寄存器写入成功 Other 其他错误码,参考errcode_t 执行失败
uapi_ssi_read_addr32_data16
头文件清单
功能说明
- 通过32位地址读取SSI 16位寄存器值
- 适用于访问32位地址空间的SSI寄存器,数据位宽为16位
- 读取结果通过出参data返回
前置条件
- SSI模块已通过uapi_ssi_init()初始化完成
- 入参data不为NULL,且指向内存空间已申请成功
入参
名称 参数类型 详细说明 约束取值范围 addr uint32_t 读取的寄存器地址 0x00000000 ~ 0xFFFFFFFF data uint16_t * 指向存储读取数据的指针 非NULL
出参
名称 数据类型 输出说明 data uint16_t * 存储读取到的16位寄存器值
返回值
返回值 文字含义 触发场景 ERRCODE_SUCC(0x00) 执行成功 寄存器读取成功 Other 其他错误码,参考errcode_t 执行失败
uapi_ssi_write_addr32_data16
头文件清单
功能说明
- 通过32位地址写入SSI 16位寄存器
- 适用于访问32位地址空间的SSI寄存器,数据位宽为16位
- 写入值为16位宽
前置条件
- SSI模块已通过uapi_ssi_init()初始化完成
入参
名称 参数类型 详细说明 约束取值范围 addr uint32_t 写入的寄存器地址 0x00000000 ~ 0xFFFFFFFF value uint16_t 写入的寄存器值 0x0000 ~ 0xFFFF
返回值
返回值 文字含义 触发场景 ERRCODE_SUCC(0x00) 执行成功 寄存器写入成功 Other 其他错误码,参考errcode_t 执行失败
uapi_ssi_read_addr32_data32
头文件清单
功能说明
- 通过32位地址读取SSI 32位寄存器值
- 适用于访问32位地址空间的SSI寄存器,数据位宽为32位
- 读取结果通过出参data返回
前置条件
- SSI模块已通过uapi_ssi_init()初始化完成
- 入参data不为NULL,且指向内存空间已申请成功
入参
名称 参数类型 详细说明 约束取值范围 addr uint32_t 读取的寄存器地址 0x00000000 ~ 0xFFFFFFFF data uint32_t * 指向存储读取数据的指针 非NULL
出参
名称 数据类型 输出说明 data uint32_t * 存储读取到的32位寄存器值
返回值
返回值 文字含义 触发场景 ERRCODE_SUCC(0x00) 执行成功 寄存器读取成功 Other 其他错误码,参考errcode_t 执行失败
uapi_ssi_write_addr32_data32
头文件清单
功能说明
- 通过32位地址写入SSI 32位寄存器
- 适用于访问32位地址空间的SSI寄存器,数据位宽为32位
- 写入值为32位宽
前置条件
- SSI模块已通过uapi_ssi_init()初始化完成
入参
名称 参数类型 详细说明 约束取值范围 addr uint32_t 写入的寄存器地址 0x00000000 ~ 0xFFFFFFFF value uint32_t 写入的寄存器值 0x00000000 ~ 0xFFFFFFFF
返回值
返回值 文字含义 触发场景 ERRCODE_SUCC(0x00) 执行成功 寄存器写入成功 Other 其他错误码,参考errcode_t 执行失败
Type definitions
errcode_t
使用说明:作为SSI模块读写接口的返回值类型,表示操作执行结果