OpenEdv-开源电子网

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

关于W25Q64

[复制链接]

94

主题

260

帖子

0

精华

高级会员

Rank: 4

积分
650
金钱
650
注册时间
2013-10-23
在线时间
48 小时
发表于 2017-9-1 14:27:05 | 显示全部楼层 |阅读模式
100金钱
我用的STM32F427,往W25Q64的0地址写入10个字节,再从0地址读出10个字节,用示波器抓波形,发现读出来的10个字节和写入的完全一样,没有问题,但是程序里面读出来的第一个字节始终为0xff,读出来的第二个字节是写入的第一个字节,读出的第三个字节是写入的第二个字节,不知道问题出在哪。

最佳答案

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

上周已经解决了,解决办法 u8 spi_read_write_byte(SPI_TypeDef * SPIX,u8 tx_data) { while (SPI_I2S_GetFlagStatus(SPIX, SPI_I2S_FLAG_TXE) == RESET){} while(SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_RXNE) == SET) SPI_I2S_ReceiveData(SPI2); SPI_I2S_SendData(SPIX, tx_data); while (SPI_I2S_GetFlagStatus(SPIX, SPI_I2S_FLAG_RXNE) == RESET){} return SPI_I2S_ReceiveD ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

94

主题

260

帖子

0

精华

高级会员

Rank: 4

积分
650
金钱
650
注册时间
2013-10-23
在线时间
48 小时
 楼主| 发表于 2017-9-1 14:27:06 | 显示全部楼层
上周已经解决了,解决办法
u8 spi_read_write_byte(SPI_TypeDef * SPIX,u8 tx_data)
{                                          
        while (SPI_I2S_GetFlagStatus(SPIX, SPI_I2S_FLAG_TXE) == RESET){}
        while(SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_RXNE) == SET)
                SPI_I2S_ReceiveData(SPI2);

       
        SPI_I2S_SendData(SPIX, tx_data);
               
  while (SPI_I2S_GetFlagStatus(SPIX, SPI_I2S_FLAG_RXNE) == RESET){}

        return SPI_I2S_ReceiveData(SPIX);
}
回复

使用道具 举报

13

主题

156

帖子

0

精华

高级会员

Rank: 4

积分
883
金钱
883
注册时间
2017-8-7
在线时间
200 小时
发表于 2017-9-1 14:30:36 | 显示全部楼层
那就应该是你的偏移弄错了 起始地址不对 写和读的地址应该有一个是错的
回复

使用道具 举报

94

主题

260

帖子

0

精华

高级会员

Rank: 4

积分
650
金钱
650
注册时间
2013-10-23
在线时间
48 小时
 楼主| 发表于 2017-9-1 14:38:34 | 显示全部楼层
测试发现关中断读,就会出现上面的情况,开中断读写反而没问题
回复

使用道具 举报

94

主题

260

帖子

0

精华

高级会员

Rank: 4

积分
650
金钱
650
注册时间
2013-10-23
在线时间
48 小时
 楼主| 发表于 2017-9-1 15:03:10 | 显示全部楼层
旺仔奶豆 发表于 2017-9-1 14:30
那就应该是你的偏移弄错了 起始地址不对 写和读的地址应该有一个是错的

不是的
回复

使用道具 举报

2

主题

685

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3448
金钱
3448
注册时间
2017-7-4
在线时间
869 小时
发表于 2017-9-1 16:38:18 | 显示全部楼层
第10个(地址9)字节数据呢?
回复

使用道具 举报

10

主题

266

帖子

0

精华

高级会员

Rank: 4

积分
693
金钱
693
注册时间
2017-7-27
在线时间
98 小时
发表于 2017-9-1 22:16:38 | 显示全部楼层
读数据存入缓存时,不要从buf[0]开始存,从buf[1]开始存,看看你改过这里没
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-19 13:20

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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