OpenEdv-开源电子网

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

STM32F103C8T6硬件SPI通讯死机

[复制链接]

5

主题

24

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
355
金钱
355
注册时间
2017-7-15
在线时间
61 小时
发表于 2018-12-1 14:31:58 | 显示全部楼层 |阅读模式
20金钱
鄙人最近在做915M的nrf905无线通讯实验,借鉴了网友的例程,将F103ZE的工程移植到F103C8并做了修改,测试可用,不过近期测试发现了问题。当上电状态并烧写完程序时,程序运行良好,如若断电后再重新上电的话,程序一运行到硬件SPI通讯时就死机了,为此我尝试过多种办法检查问题的原因:1、我将nrf905模块拿掉,发现重新上电后还是会在SPI通讯的地方卡死(在SPI通讯那我设置了指示灯LED0(PB1),若通讯通过,灯就闪一下,如下图),说明不是nrf905模块的问题而是F103C8的问题;
2、我将此代码重新移植到了F103ZE,却不存在这样的问题;
3、F103C8的板子我拿去用示波器检测,发现按键按下时,SPI的NSS信号被拉低后再也不会被拉高,SCK偶尔在按键按下后会有一些脉冲,但大部分时候没有(按键按下时开始SPI通讯);
4、F103C8的板子我试过3个(买的最小系统板),都存在这个问题;

测试方法:
    一个STM32F103C8T6最小系统板,PB1口接个LED灯,PA0接个按键,按键按下且还没放开的时候,若LED灯快速闪烁,则SPI通讯成功,若LED灯无反应或更快地闪一下就不闪了,则SPI通讯失败。

以下三图是硬件SPI的配置模式、主程序和SPI通讯中的指示灯及内容:
SPI初始化.jpg

主程序

主程序

SPI收发和LED指示

SPI收发和LED指示

nrf905发射改SPI问题(C8T6).rar

350.98 KB, 下载次数: 56

工程文件

最佳答案

查看完整内容[请看2#楼]

问题已经解决了,谢谢尹林同学的建议,我是通过debug发现的问题的,结果是发现硬件spi没有问题,不过在操作spi的时候有一个变量没赋初值直接用,然后运行到那里直接进入硬件错误,while(1)死循环了,把变量赋值下就好了。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

5

主题

24

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
355
金钱
355
注册时间
2017-7-15
在线时间
61 小时
 楼主| 发表于 2018-12-1 14:31:59 | 显示全部楼层
问题已经解决了,谢谢尹林同学的建议,我是通过debug发现的问题的,结果是发现硬件spi没有问题,不过在操作spi的时候有一个变量没赋初值直接用,然后运行到那里直接进入硬件错误,while(1)死循环了,把变量赋值下就好了。
回复

使用道具 举报

5

主题

24

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
355
金钱
355
注册时间
2017-7-15
在线时间
61 小时
 楼主| 发表于 2018-12-1 14:33:31 | 显示全部楼层
有没有大神帮我看看?
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2018-12-3 02:38:02 | 显示全部楼层
帮顶
回复

使用道具 举报

3

主题

43

帖子

0

精华

初级会员

Rank: 2

积分
196
金钱
196
注册时间
2018-5-8
在线时间
22 小时
发表于 2018-12-3 17:16:33 | 显示全部楼层
楼主你初步认为是软件配置的问题是吧。我根据你表达的意思,我建议楼主不要用别人的代码来移植,因为硬件平台不一样,那么软件肯定是需要修改的,那么你在修改的过程中有可能就忽略掉了其中的一些细节问题,所以导致你的代码运行会出现问题。所以这里建议楼主新建一个空白的工程,再根据自己的理解一步一步配置,可能会麻烦一点,也可能依然会有问题,但是我认为这是一个必经之路,只有这样做你才知道其中的细节,对你才有提升。我记得在Keil5环境下是可以直接配置固件库工程的,它有个配置界面,直接勾选需要的资源就可以了,你也可能用CubeMX生成代码,一般这两种方式生成的代码都没问题。谢谢
回复

使用道具 举报

2

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
125
金钱
125
注册时间
2014-3-25
在线时间
16 小时
发表于 2019-11-1 20:26:40 | 显示全部楼层
。我用的也是这个型号,作为spi从机用,发现只要主机开始通讯,从机进入中断,就卡死在spi发送函数那里,只有定时器中断还在变化,其它部分都死了。作为从机,设的是spg接收中断。有没有联系方式,可以加你一下吗?谢谢
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-29 12:26

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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