STM32F103调试SPI2 SPI3的问题

调试SPI2时注意:画红圈需一致 SPI1时钟由APB2时钟分频而来,而SPI2/3时钟由APB1时钟分频而来

调试SPI3时需注意与JTAG引脚共用问题:

由于SPI3的PA15引脚和JTAG引脚共用,调试过程中发现SPI不能读写数据

经过查询资料发现使用SPI3需要先关闭JTAG功能(默认上电使能JTAG),如下:

1.将PA15配置为普通IO口(    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;    )
2.开启AFIO时钟 (    RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);)
3.关闭JTAG(    GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE) ;)

如下:


void bsp_Init_SPI3_A(void)
{
	GPIO_InitTypeDef GPIO_InitStructure;


	SCLK_0_A();		
	CS1_1_A();		




	 RCC_APB1PeriphClockCmd(RCC_APB2Periph_GPIOA |RCC_APB2Periph_GPIOB | RCC_APB1Periph_SPI3, ENABLE);
	
	GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5|GPIO_Pin_3;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;		
	GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
	GPIO_Init(GPIOB,&GPIO_InitStructure);

	GPIO_InitStructure.GPIO_Pin=GPIO_Pin_15;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;		
	GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
	GPIO_Init(GPIOA,&GPIO_InitStructure);
	
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
	GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE) ;

}

  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
STM32F103C8是一款32位的ARM Cortex-M3微控制器,具有较高的性能和丰富的外设功能。其中的SPI2是它的第二个串行外设接口。 SPI,全称为Serial Peripheral Interface,是一种同步串行通信协议,用于在微控制器和外部设备之间传输数据。SPI包含一个主设备和一个或多个从设备,其中主设备控制数据传输的时序和速率。SPI2是STM32F103C8微控制器上的第二个SPI接口。 与SPI1相比,SPI2在硬件配置上有所不同。SPI2具有自己独立的引脚和寄存器,可进行独立的数据传输。它可以与多个从设备进行通信,每个从设备都需要一个片选引脚来选择通信对象。SPI2的时钟频率可通过寄存器编程进行配置,以满足不同外设的需求。 在使用SPI2之前,需要对SPI2进行配置。首先,需要选择合适的引脚并设置引脚功能为SPI2模式。然后,需要配置SPI2的参数,如数据位宽、时钟极性和相位等。还可以配置SPI2的主从模式和使能中断功能,以满足具体应用的需求。 一旦配置完成,可以使用SPI2与外部设备进行数据交换。通过写入数据寄存器,主设备可以向从设备发送数据,并同时接收从设备返回的数据。SPI2的数据传输是全双工的,即在发出数据的同时也可以接收数据,实现了快速且可靠的数据通信。 总之,STM32F103C8的SPI2是一种强大的外设接口,可用于与外部设备进行高速数据传输。通过合适的配置和编程,可以实现多个从设备的并行通信,满足不同应用场景的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值