汇集网友智慧,解决技术难题
技术交流 spi 电平 开发板 引脚 gd32f303vct6
赞0
评论
2021-06-25
点击图片添加到编辑器内容中
点击文件名将附件添加到文章中
提交
tyw
314个答案
天意无罪
284个答案
xch
199个答案
jjjyufan
197个答案
coody
179个答案
chunyang
135个答案
LcwSwust
134个答案
呐咯密密
105个答案
赞0
评论
2021-06-25
赞0
评论
2021-06-25
赞0
void spi_config_init(void)
{
spi_parameter_struct spi_init_struct;
/* enable SPI clock */
rcu_periph_clock_enable(RCU_SPI0);
/* deinitialize SPI0 peripheral */
spi_i2s_deinit(SPI0);
/* SPI0 parameter config */
spi_init_struct.trans_mode = SPI_TRANSMODE_FULLDUPLEX;
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_init_struct.prescale = SPI_PSC_32;
spi_init_struct.endian = SPI_ENDIAN_MSB;
spi_init(SPI0, &spi_init_struct);
/* enable the SPI0 peripheral */
spi_enable(SPI0);
}
//spi gpio配置
void spi_i2s_gpio_config(void)
{
/* enable the GPIO clock */
rcu_periph_clock_enable(RCU_AF);
rcu_periph_clock_enable(RCU_GPIOA);
rcu_periph_clock_enable(RCU_GPIOD);
//SPI
gpio_init(GPIOA, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7);
gpio_init(GPIOD, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_5);
gpio_init(GPIOA, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_4);
gpio_bit_set(GPIOA, GPIO_PIN_4);
}
//发送函数
void spi_send_data(uint8_t *data,uint8_t len)
{
gpio_bit_reset(GPIOA,GPIO_PIN_4);
for(uint8_t i = 0; i < len; i++)
{
while(spi_i2s_flag_get(SPI0, SPI_FLAG_TBE) == RESET);
spi_i2s_data_transmit(SPI0, data[i]);
while(SET == spi_i2s_flag_get(SPI0, SPI_FLAG_TRANS));
}
//delay(10);
gpio_bit_set(GPIOA,GPIO_PIN_4);
delay(10);
}
评论
2021-06-25
您需要登录后才可以回复 登录 | 注册