SPI3的重映射使用调试
芯片:STM32F105VC
KEIL库:3.5
2017/08/26:
使用SPI3操作FLASH,但是用示波器查看无SCK输出,有MOSI输出,SCK一直为低。
重映射函数如下,未发现问题:
//使能被重新映射到的I/O端口时钟
RCC_APB1PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
//使能被重新映射的外设时钟
RCC_APB1PeriphClockCmd(RCC_APB1Periph_SPI3, ENABLE);
//使能AFIO功能的时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
//进行重映射
GPIO_PinRemapConfig(GPIO_Remap_SPI3,ENABLE);
调试一整天,无法找到问题。
发现程序在读写FLASH中进入未定义中断,查找问题。发现在原来的程序上使用了UART3复用,新板子没有使用UART3,没有将复用语句注释,导致及nagPC10/PC11/PC12复用到UART3,可以输入输出但是无法输出SCK信号(UART3无SCK),并且当该端口接收到错误数据后,会进入UART3的中断,中断未定义导致程序出错。
问题原因:使用SPI3的情况下同时复用UART3
上一篇:STM32F105VC 低功耗
下一篇:STM32F429 串口通信_初始化
推荐阅读最新更新时间:2024-03-16 16:17