求!关于一个实际项目中的SPI通信问题

先给大佬们交代一下这个项目中我了解的关于spi的内容、本人碰到的问题的起因经过以及现在卡住的问题:

        这个项目中用到了一个单片机和一个cpu,单片机用来检测按键、用串口通信接收几个传感器数据,然后通过spi发送这些从串口来的数据以及按键状态到cpu。

        单片机作slave,多一根引脚是用作ready脚,拉高告诉主机cpu这边的spi准备好了,然后主机拉低nss脚之后建立通信。

        问题的来源是碰到某一个电压的问题,需要在主机cpu掉电的情况下,把spi的ready脚以及nss脚状态更改,改完引脚之后那个电压问题的bug解掉了。

        主机上电的时候之后我在做上电操作之前对spi的这两个引脚模式做了恢复,上电后主机也能正确接收到数据,但是很卡顿。按键反应也变慢了,应该是spi的传输速率变慢了。

------------------------------------------------------  

      这里想咨询的就是怎么样在改了引脚状态之后完美的恢复spi的通信。

-------------------------------------------------------

另外我自己在进行尝试的时候碰到了让我摸不着头脑的怪事。

我尝试将spi的初始化函数重新调用一遍,就是恢复引脚模式之后的时候,deinit(&spi)和init(&spi)一下,结果导致无法与主机正常通信。赶紧回退版本。但是奇怪的事情出现了......回退到我没有做更改的版本之后仍然无法正常通信。

------------------------------------------------------

另外想问的就是这种情况下是stm32有什么保存配置的功能或者某种存储设备

又或者我是不是该考虑主机cpu在spi通讯中所做的操作,比如是不是保存了与从机的连接之类的

------------------------------------------------------

请各路大神指点迷津!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值