OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2680|回复: 3

求分析SPI 从机发送偶尔失败, 发送数据被跳过的原因

[复制链接]

1

主题

7

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
265
金钱
265
注册时间
2018-3-24
在线时间
48 小时
发表于 2018-4-21 11:39:48 | 显示全部楼层 |阅读模式
10金钱
       
问题情况是 SPI 的从机在发送的时候, 偶尔会出现数据没有发出被跳过的情况.
MCU: STM32F103VCT6

测试代码:
       

主机读写

主机读写

                主机读写
       

主机等待

主机等待

                主机等待从机响应
       
       

从机配置

从机配置

                从机配置
       

从机代码

从机代码

                从机响应代码

       

错误波形

错误波形

                错误的波形( 可以看到 0xff 过后 直接是0x5e 而跳过了0xe5)

       

波形2

波形2

                另外一个不理解的波形(未向 SPI-DR 写入内容 数据却从oxff变成了 0x00)

       
从缩小的波形上看,除去正确应答数据(0xe5, 0x5e)外, SPI从机发送的是最后一次SPI-DR写入的内容, 并且会发送一段时间, 这段时间后又变成了 0x00

       

框图

框图

       
我理解的框图的意思是SPI->DR没有数据时, MISO 的数据应该就是 MOSI 上面的数据移出的才对.

缩小的波形

缩小的波形
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2018-4-22 01:56:39 | 显示全部楼层
单步跟踪下。
另外,检查你的优化等级,不要用-O3
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

1

主题

7

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
265
金钱
265
注册时间
2018-3-24
在线时间
48 小时
 楼主| 发表于 2018-4-22 07:20:19 | 显示全部楼层
正点原子 发表于 2018-4-22 01:56
单步跟踪下。
另外,检查你的优化等级,不要用-O3

单步跟踪没啥问题 这个问题 是偶尔出现一次, 不定时那种, 没时间详细深入分析了. 就用CS中断做了同步, 解决了. 感觉可能是SPI 从设备自己没做同步? 或者其他原因 导致数据乱掉了吧
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2018-4-23 01:55:51 | 显示全部楼层
505062593 发表于 2018-4-22 07:20
单步跟踪没啥问题 这个问题 是偶尔出现一次, 不定时那种, 没时间详细深入分析了. 就用CS中断做了同步, 解 ...

谢谢分享
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-7 19:57

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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