请选择 进入手机版 | 继续访问电脑版
搜索
查看: 347|回复: 8

[求助] STM32F051寄存器方式读写SPI的DR寄存器

[复制链接]

21

主题

398

帖子

0

精华

Rank: 6Rank: 6

金牌会员

注册时间
2015-12-6
发表于 2017-1-11 15:12:52 | 显示全部楼层 |阅读模式
HAL库的SPI接口效率较低,想试试用寄存器方式配置SPI外设,然后用SPI接口读取外部FLASH。结果配置好后读取到的数据全为0,通过仿真发现配置的寄存器都是正确的,使用断点调试SPI接口能读取到正确的数据。对比HAL对寄存器的操作,发现没有落下哪个步骤,但是使用寄存器方式读取数据始终是0,程序如下图
欢迎加入STM32/STM8社区技术交流群: 313887143    STM32Lxx开发群:571793578
回复

使用道具 举报

21

主题

398

帖子

0

精华

Rank: 6Rank: 6

金牌会员

注册时间
2015-12-6
 楼主| 发表于 2017-1-11 15:13:20 | 显示全部楼层
忘记程序截图了
[TB}JM7LPZ}DPK[4$3LNGF1.png
回复 支持 反对

使用道具 举报

4

主题

572

帖子

0

精华

Rank: 6Rank: 6

金牌会员

注册时间
2010-12-8
发表于 2017-1-11 17:17:41 | 显示全部楼层
F0的 SPI 有个FIFO 阈值需要配置, FRXTH@spi_cr2  配置为1后测试下。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

欢迎加入STM32/STM8社区技术交流群: 313887143    STM32Lxx开发群:571793578
回复 支持 反对

使用道具 举报

13

主题

832

帖子

1

精华

Rank: 6Rank: 6

金牌会员

注册时间
2010-5-25
发表于 2017-1-11 17:21:22 | 显示全部楼层
试下3楼的建议。
若还是不行,建议可以把初始化代码上传,大家帮你看。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

回复 支持 反对

使用道具 举报

10

主题

643

帖子

0

精华

Rank: 6Rank: 6

金牌会员

注册时间
2016-1-23
发表于 2017-1-11 17:25:03 | 显示全部楼层
过来学习学习                 
欢迎加入STM32/STM8社区技术交流群: 313887143    STM32Lxx开发群:571793578
回复 支持 反对

使用道具 举报

21

主题

398

帖子

0

精华

Rank: 6Rank: 6

金牌会员

注册时间
2015-12-6
 楼主| 发表于 2017-1-12 08:42:14 | 显示全部楼层
xmshao 发表于 2017-1-11 17:17
F0的 SPI 有个FIFO 阈值需要配置, FRXTH@spi_cr2  配置为1后测试下。

恩,配置为4分之1个字也就是8位,但是还是一样的问题。在寄存器和HAL库配置完SPI后所有寄存器都是一样的。
回复 支持 反对

使用道具 举报

21

主题

398

帖子

0

精华

Rank: 6Rank: 6

金牌会员

注册时间
2015-12-6
 楼主| 发表于 2017-1-12 08:43:28 | 显示全部楼层
Dylan疾风闪电 发表于 2017-1-11 17:21
试下3楼的建议。
若还是不行,建议可以把初始化代码上传,大家帮你看。

这个有点不方便,如果你想试试的话你可以使用HAL库的初始化函数然后把发送接收改成我这样测试就知道了
欢迎加入STM32/STM8社区技术交流群: 313887143    STM32Lxx开发群:571793578
回复 支持 反对

使用道具 举报

13

主题

832

帖子

1

精华

Rank: 6Rank: 6

金牌会员

注册时间
2010-5-25
发表于 2017-1-12 14:58:17 | 显示全部楼层
海迹天涯 发表于 2017-1-12 08:43
这个有点不方便,如果你想试试的话你可以使用HAL库的初始化函数然后把发送接收改成我这样测试就知道了 ...

不去试了,你贴出来的这个函数不存在问题。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

回复 支持 反对

使用道具 举报

21

主题

398

帖子

0

精华

Rank: 6Rank: 6

金牌会员

注册时间
2015-12-6
 楼主| 发表于 2017-1-12 15:41:03 | 显示全部楼层
Dylan疾风闪电 发表于 2017-1-12 14:58
不去试了,你贴出来的这个函数不存在问题。

那就奇怪了,初始化没问题,读写函数也没问题,为啥读出来就是0了呢
欢迎加入STM32/STM8社区技术交流群: 313887143    STM32Lxx开发群:571793578
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /1 下一条

Archiver|手机版|小黑屋|意法半导体STM32/STM8技术社区    

GMT+8, 2017-5-23 20:36 , Processed in 0.098370 second(s), 14 queries , Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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