说明:驱动基于STm32G031K6测试,其他型号需自行做改动。
SPI在开始配置的时候遇到些问题,这里也记录下,我这边用的是SPI2,其他SPI也可以参考
SPI2 初始化:
void STM32LLSpi2Init(void)
{
LL_SPI_InitTypeDef SPI_InitStruct = {0};
LL_GPIO_InitTypeDef GPIO_InitStruct = {0};
LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_SPI2); //使能外设时钟
LL_IOP_GRP1_EnableClock(LL_IOP_GRP1_PERIPH_GPIOB); //GPIO时钟使能
/**SPI2 GPIO Configuration
PB6 ------> SPI2_MISO
PB7 ------> SPI2_MOSI
PB8 ------> SPI2_SCK
*/
GPIO_InitStruct.Pin = gpioSPI2_MISO_PIN; //MISOPin指定
GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; //io模式配置为复用功能
GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_HIGH; //设置为高速率
GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; //设置Pin为输出模式
GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; //输入口设置不带上拉
GPIO_InitStruct.Alternat