MPC5748G之spi polling & interrupt

开发环境:

硬件:MPC5748G
软件:S32 Design Studio for Power Architecture Version 2017.R1
外设:
	W25Q64

spi引脚:

PI[6]	CS0_2	xxx
PE[15]	SCLK_2	819
PG[15]	SOUT_2	xxx
PG[14]	SIN_2	818

步骤及注意事项:

1.配置好外设及系统时钟
2.初始化spi设置
	1)轮询模式
	2)中断模式
		a.需要在中断向量表中配置中断函数
		b.初始化中断寄存器PSR
		c.使能spi接收发送中断

遇到的问题:

使用自带SPI的CS片选,从初始化开始,CS就一直为低电平
推荐使用GPIO做CS片选

在使用从机模式时,我使用了STM32作为SPI主机,然后配置为CPOL=1&&CPHA=1时,
主机发送的数据0x81到从机接收的数据变成了0xC0

使用杜邦线连接两块开发板时,干扰十分严重,尽量把杜邦线每根分开使用

另外,在从机数据是0x80时,除时钟外的SOUT会跳变为高,一直到0x00再跳变为低

解决方案:都设置为0就好了,MARK一下
解决STM32的从机SPI接收数据错位或者出错的问题

MARK一下:
做从机时,SPI的CS必须要设置为功能引脚,否则在SCLK恢复为GPIO引脚时,会导致数据错位(会被误认为是一个时钟)

Demo下载地址:
mpc5748g_spi_demo.zip

发布了50 篇原创文章 · 获赞 14 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/u011958166/article/details/90515189
今日推荐