STM32 的SPI1 引脚重映射 初次使用STM32 有些不太明白,此次调试经验奉献出来与大家分享
系统:STM32 + SD + FATFS STM32 与SD 卡的连接如下定义 ,PB 口 #define SD_SCK GPIO_Pin_3 #define SD_MISO GPIO_Pin_4 #define SD_MOSI GPIO_Pin_5 #define SD_CS GPIO_Pin_7 我想使用SPI1 并重映射引脚使用时注意的事项如下 : 1
使能 PB0 时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE); 2
使能 AFIO 时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); 3
使能 SPI1 时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1 , ENABLE); 4
禁用JTAG 时钟复用 GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE); 5
SPI1 引脚重映射 GPIO_PinRemapConfig(GPIO_Remap_SPI1,ENABLE); 接着初始化 GPIO 和 SPI1 即可,如: void SpiOpen(void) { GPIO_InitTypeDef GPIO_InitStructure; SPI_InitTypeDef SPI_InitStructure; /* Configure SPI1 pins: SCKand MOSI */ GPIO_InitStructure
GPIO_Pin = SD_MOSI|SD_SCK|SD_MISO; GPIO_InitStructure
GPIO_Speed