最近使用STM32F103(48Pin封装)在调试一个SPI外设,硬件提供的接口使用了PD0/PD1作为CS/CLK,在调试的时候CS可以拉高,但是怎么也拉不低,把外设移除后,可以正常拉低。查看RM0008参考手册,原来这两个引脚默认为外部晶振功能(仅限于36/48/64引脚封装),见下图:
如果需要用作GPIO需要重新映射(映射前需要确保AFIO时钟已经开启),具体如下:
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
GPIO_PinRemapConfig(GPIO_Remap_PD01, ENABLE);
PD0/PD1作为GPIO口使用正常。 |