STM32F4移植SPI注意事项

一、注意事项

可以看我之前移植的文章,那些就不提了,记得要复用,把IO复用成对应的功能io,然后还要注意时钟,看你需要的功能,去调对应的时钟,把时钟调匹配了,基本上不会有问题。

比如说这里,就是把指定的io复用成功能io

c 复制代码
  GPIO_PinAFConfig(GPIOA, GPIO_PinSource5, GPIO_AF_SPI1);

  GPIO_PinAFConfig(GPIOA, GPIO_PinSource6, GPIO_AF_SPI1);

  GPIO_PinAFConfig(GPIOA, GPIO_PinSource7, GPIO_AF_SPI1);
	
  RCC_APB2PeriphResetCmd(RCC_APB2Periph_SPI1,ENABLE);//复位SPI1
 
  RCC_APB2PeriphResetCmd(RCC_APB2Periph_SPI1,DISABLE);//停止复位SPI1

看一下F407的时钟

c 复制代码
SYSCLK(系统时钟) =168MHz
AHB 总线时钟(HCLK=SYSCLK) =168MHz
APB1 总线时钟(PCLK1=SYSCLK/4) =42MHz
APB2 总线时钟(PCLK2=SYSCLK/2) =84MHz
PLL 主时钟 =168MHz

再看一下F103的时钟

c 复制代码
SYSCLK(系统时钟) =72MHz
AHB 总线时钟(使用 SYSCLK) =72MHz
APB1 总线时钟(PCLK1=SYSCLK/2) =36MHz
APB2 总线时钟(PCLK2) =72MHz
PLL 时钟 =72MHz

f4默认是168的 但是f1默认是72 这里也要改一下

c 复制代码
delay_init(72); 

其他的配置网上有很多,就不写了

相关推荐
Industio_触觉智能几秒前
瑞芯微RK3588 RKNN模型推理环境部署与功能测试技巧(下)
嵌入式硬件·ai·rk3588·rknn·瑞芯微·rknn-toolkit2·rk3588j
老师用之于民41 分钟前
【DAY36】基于 I²C 总线的通信协议分析与 ADC 转换原理研
单片机·嵌入式硬件
kanhao1001 小时前
从 Vectorless 到 SAIF 再到板级实测:HLS Kernel 功耗估计全流程实战
嵌入式硬件·fpga开发
啃玉米的艺术家2 小时前
中断-------(轮询方式)
嵌入式硬件
listhi5202 小时前
STM32 USB-HID下位机设计与实现
stm32·单片机·嵌入式硬件
Winner13002 小时前
【单片机 控制小车】
单片机·嵌入式硬件
xingzhemengyou13 小时前
STM32 UART 通信详解
stm32·单片机·嵌入式硬件
LDR0063 小时前
乐得瑞 LDR6020P,重新定义 Type-C 多口方案
嵌入式硬件
苏灵凯3 小时前
智能环境监测终端全栈设计:从单片机到微信小程序,手把手搞定!
单片机·嵌入式硬件·mcu·物联网·微信小程序·小程序·蓝牙模块
济6173 小时前
STM32串口通信实战|从基础到实战(发送 + 接收控制 LED)---STM32 HAL库专栏
stm32·嵌入式·stm32hal库编程