嵌入式技术william hill官网
直播中

kasdlak

8年用户 1180经验值
擅长:光电显示
私信 关注
[问答]

怎样去解决SPI中断无法触发的问题呢

各位大神好,
今天遇到一个奇怪的问题,想要咨询下大家

场景

芯片:gd32f470
操作系统:移植gd32f450
应用:spi从模式,配置spi接收中断

验证场景

先使用jlink加载程序,进入仿真界面,主设备发送数据,从设备接收数据正常,并做相应处理,再给主设备返回数据,主设备接收数据,流程正常

此时,从设备下电,再给从设备上电,主设备给从设备发送数据,从设备没有响应(从设备接收中断中有led翻转处理,但没有看到灯闪烁),现象判断,从设备没有触发spi接收中断

再给从设备重新加载程序,主设备发送数据,从设备接收数据,并做处理,给主设备返回数据,主设备接收数据,现象正常

我的问题是:为什么会出现,从设备下电,再上电后,从设备的spi中断失效的现象,此现象比较像是spi没有做初始化处理

请问有遇到过相似的问题吗?如果遇到过,又是如何解决的那?

祝好

回帖(3)

杨勇

2022-11-10 11:40:21
1.jpg
举报

kasdlak

2022-11-10 11:43:09
你好
我想描述的问题是,初始化里面有对spi从模式的配置,以及中断的配置,但是在下电后在上电,spi就像没有初始化一样,需要重新加载一遍程序才可以使用spi从模式
举报

杨勇

2022-11-10 11:43:19
期间要是FPGA来个毛刺,就得重新初始化,你用逻辑分析仪抓一下看看。
如果没抓到毛刺,也可以待设备上电启动成功后,再重新初始化。

所以还是想问下楼主是如何知道FPGA传输完成了?又是如何重新准备下一次传输呢?
FPGA每次会传输多少数据?长度是否固定?每次通信建议是多久?
建议画出时序图。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分