SPI的一些基础服务函数定义。
SPI有不同位宽模式,该参数由上层平台级参数进行配置。
指定SPI设备号,获取上层指定配置的位宽。
static u8 spi_get_info_mode(spi_dev spi)//获取模式
{
u8 mode = (u8) - 1;
u8 id = spi_get_info_id(spi);
switch (id) {
#if SPI0_ENABLE
case SPI0:
mode = spi0_p_data.mode;
break;
#endif
#if SPI1_ENABLE
case SPI1:
mode = spi1_p_data.mode;
break;
#endif
#if SPI2_ENABLE
case SPI2:
mode = spi2_p_data.mode;
break;
#endif
default:
break;
}
return mode;
}
根据位宽进行SPI寄存器配置、GPIO配置。
获取上层配置的主从机选择。
static u8 spi_get_info_role(spi_dev spi)//获取主从
{
u8 role = (u8) - 1;
u8 id = spi_get_info_id(spi);
switch (id) {
#if SPI0_ENABLE
case SPI0:
role = spi0_p_data.role;
break;
#endif
#if SPI1_ENABLE
case SPI1:
role = spi1_p_data.role;
break;
#endif
#if SPI2_ENABLE
case SPI2:
role = spi2_p_data.role;
break;
#e

本文档详细介绍了SPI接口的基础服务函数,包括获取SPI设备模式、主从机角色和时钟频率的函数,以及设置和获取波特率的方法。此外,还提供了SPI发送和接收字节的函数,中断相关的操作,并包含等待函数和中断标志的处理。内容涵盖了SPI的配置、数据传输和中断管理。
最低0.47元/天 解锁文章

1241

被折叠的 条评论
为什么被折叠?



