SPI的硬件初始化最重要的函数就是spi_init ()。 登录后复制voidspi_init(uint32_tspi_periph, spi_parameter_struct *spi_struct) 其中SPI参数配置的结构体为spi_parameter_struct;。 登录后复制/* SPI and I2S parameter struct definitions */typedefs
void driver_spi_init(typdef_spi_struct *spix) { spi_parameter_struct spi_init_struct; rcu_periph_clock_enable(spix->rcu_spi_x); /* spi configure */ spi_i2s_deinit(spix->spi_x); driver_gpio_general_init(spix->spi_cs_gpio);
void spi_config(void){#if defined GD32F10X_HD|| GD32F30X_HD || GD32F1X0 || GD32F20X_CL || GD32F4XX || GD32F3X0 || GD32E10X || GD32E23X spi_parameter_struct spi_init_struct; /* SPI0 parameter config */ spi_init_struct.trans_mode = SPI_TRANSMODE_FULLDUPLEX; spi_init...
/* SPI parameter config */ spi_init_struct.trans_mode = SPI_TRANSMODE_BDTRANSMIT; spi_init_struct.device_mode = SPI_MASTER; spi_init_struct.frame_size = SPI_FRAMESIZE_8BIT; spi_init_struct.clock_polarity_phase = SPI_CK_PL_LOW_PH_1EDGE; spi_init_struct.nss = SPI_NSS_SOFT; spi_in...
spi_parameter_struct spi_init_struct;rcu_periph_clock_enable(spix->rcu_spi_x);/* spi configure...
spi_parameter_struct spi_init_struct;rcu_periph_clock_enable(RCU_GPIOB);rcu_periph_clock_enable(...
{spi_parameter_struct spi_init_struct;spi_i2s_deinit(CURRENT_SPI);rcu_periph_clock_enable(CURRENT_SPI_RCU);/* SPI_MOSI */gpio_init_af_mode(RTC_RCU,RTC_GPIO,RTC_DATA_PIN,GPIO_OSPEED_50MHZ,GPIO_AF_6);/* SPI_SCK */gpio_init_af_mode(RTC_RCU,RTC_GPIO,RTC_SCK_PIN,GPIO_OSPEED_50...
C void driver_spi_init(typdef_spi_struct *spix) { spi_parameter_struct spi_init_struct; rcu_periph_clock_enable(spix->rcu_spi_x); /* spi configure */ spi_i2s_deinit(spix->spi_x); driver_gpio_general_init(spix->spi_cs_gpio); driver_gpio_general_init(spix->spi_sck_gpio); driver...
_struct;rcu_periph_clock_enable(RCU_SPI1);/* deinitilize SPI and the parameters */spi_i2s_deinit(SPI1);spi_struct_para_init(&spi_init_struct);/* SPI1 parameter configuration */spi_init_struct.trans_mode=SPI_TRANSMODE_FULLDUPLEX;spi_init_struct.device_mode=SPI_MASTER;spi_init_struct....
struct spi_master抽象了控制器硬件,在SoC中的指的就是内部SPI控制器,当向SPI核心层注册一个SPI控制器时就需要提供这样的一个结构体变量。它的定义在include/linux/spi/spi.h文件,如下: /** * struct spi_master - interface to SPI master controller ...