硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1576|回复: 2
收起左侧

双机SPI通信一段时间后出错

[复制链接]

5

主题

109

回帖

124

积分

初级会员

积分
124
发表于 2018-5-5 17:16:40 | 显示全部楼层 |阅读模式
本帖最后由 打洞者 于 2018-5-7 15:53 编辑

【目标】

     > 双机之间使用SPI总线通信

【环境】


    > STM32F429(从机) <---------------------> 树莓派3B (主机)

    > 采用主机下发指令,从机解析指令并作出对应响应方式进行通信
    > 主机中的SPI作为一个独立的进程运行
    > 主机使用Linux操作系统
    > 从机使用FreeRTOS系统
    > 从机主要是采集一些传感器数据,做一定转换后,上传至主机
    > 从机中的指令接收与响应方式为,使用SPI中断接收指令,SPI-DMA方式上传响应

【现象】

    > 在正常工作一段时间后,通信便出现问题,具体表现为主机收到的数据为同一数据的重复,正常工作一段时间这个时长随机,有时几分钟,有时一两个小时        
    > 在发生错误后,主机继续正常下发指令数据
    > 在发生错误后,从机不再接收到主机下发的指令





回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107604
QQ
发表于 2018-5-6 10:50:21 | 显示全部楼层
这样,在SPI中断里面将各种状态标志读一些,如果有异常,打印出来就行,没有串口的话,直接使用我之前发的SEGGER RTT组件教程。

你的SPI DMA也是,每次发送完毕,读取出各种状态看是否有异常,有异常的也打印出来,这样就方便锁定是哪里的问题了。
回复

使用道具 举报

5

主题

109

回帖

124

积分

初级会员

积分
124
 楼主| 发表于 2018-5-7 14:24:24 | 显示全部楼层
我搞下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-6-7 22:34 , Processed in 0.176514 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表