请教各位大佬们,我配置好SPI0,定时发送数据,用示波器看MOSI引脚没有看到任何输出,不知道哪里配置不对。配置代码如下:
spi_parameter_struct spi_struct;
rcu_periph_clock_enable(RCU_SPI0);
rcu_periph_clock_enable(RCU_GPIOA);
spi_i2s_deinit(SPI0);
spi_struct_para_init(&spi_struct);
gpio_af_set(GPIOA, GPIO_AF_5, GPIO_PIN_5 | GPIO_PIN_6 | GPIO_PIN_7);
gpio_mode_set(GPIOA, GPIO_MODE_AF, GPIO_PUPD_PULLDOWN, GPIO_PIN_5);
gpio_output_options_set(GPIOA, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_5);
gpio_mode_set(GPIOA, GPIO_MODE_AF, GPIO_PUPD_PULLUP, GPIO_PIN_6 | GPIO_PIN_7);
gpio_output_options_set(GPIOA, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_6 | GPIO_PIN_7);
gpio_mode_set(GPIOA, GPIO_MODE_OUTPUT, GPIO_PUPD_PULLUP, GPIO_PIN_4);
gpio_output_options_set(GPIOA, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_4);
gpio_bit_set(GPIOA, GPIO_PIN_4);
spi_struct.device_mode = SPI_MASTER;
spi_struct.trans_mode = SPI_TRANSMODE_FULLDUPLEX;
spi_struct.frame_size = SPI_FRAMESIZE_8BIT;
spi_struct.nss = SPI_NSS_SOFT;
spi_struct.endian = SPI_ENDIAN_MSB;
spi_struct.prescale = SPI_PSC_16;
spi_struct.clock_polarity_phase = SPI_CK_PL_LOW_PH_1EDGE;
spi_init(SPI0, &spi_struct);
//spi_nss_output_enable(SPI0);
spi_fifo_access_size_config(SPI0, SPI_BYTE_ACCESS);
//spi_nss_internal_high(SPI0);
//qspi_io23_output_disable(SPI0);
spi_nss_internal_high(SPI0);
spi_crc_polynomial_set(SPI0, 7);
spi_enable(SPI0); |