你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32L152普通I/O模拟SPI驱动W25Q16问题

[复制链接]
oceane 提问时间:2018-3-24 18:33 /
阅读主题, 点击返回1楼
收藏 1 评论15 发布时间:2018-3-24 18:33
15个回答
oceane 回答时间:2018-3-26 14:41:50
stm1024 发表于 2018-3-26 11:23
单独看这两个函数似乎并没有问题,不过就W25Q16和您交流一下,确认你是否详细看过datasheet。
0.建议先试着 ...

感谢版主经验分享
oceane 回答时间:2018-3-26 18:23:18
stm1024 发表于 2018-3-26 11:23
单独看这两个函数似乎并没有问题,不过就W25Q16和您交流一下,确认你是否详细看过datasheet。
0.建议先试着 ...

读取W25Q16芯片ID时,MISO一直是高电平,请问版主什么什么原因?W25Q16芯片没有问题,用其他板子测试是好的
无薪税绵 回答时间:2018-3-27 09:55:53
oceane 发表于 2018-3-26 18:23
读取W25Q16芯片ID时,MISO一直是高电平,请问版主什么什么原因?W25Q16芯片没有问题,用其他板子测试是好 ...

很正常,MISO平时就是高阻的。
估计是你的IO配置不正确,或者硬件有问题。

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

oceane 回答时间:2018-3-29 12:41:19
问题解决,感谢各位帮助及回复,自己记录一下:
void SPI_Delay(void)
{
  uint16_t cnt = 5;

  while(cnt--);
}

void W25Q16_SPI_WriteByte(uint8_t TXData)
        {
                uint8_t cnt;
                for(cnt=0; cnt<8; cnt++)
                {
                        W25Q16_SPI_SCKLOW;
                        SPI_Delay();
                        if(TXData & 0x80)
                                W25Q16_SPI_MOSIHIGH;
                        else
                          W25Q16_SPI_MOSILOW;
                        TXData <<= 1;
                        SPI_Delay();
                        W25Q16_SPI_SCKHIGH;
                        SPI_Delay();
         }
        }
uint8_t W25Q16_SPI_ReadByte(void)
        {
                uint8_t cnt;
                uint8_t RxData = 0;
                for(cnt=0; cnt<8; cnt++)
                {
                        W25Q16_SPI_SCKLOW;
                  SPI_Delay();
                        RxData <<= 1;
                        if(W25Q16_MISO_READ)
                        {
                                RxData |= 0x01;
                        }
                        SPI_Delay();
                        W25Q16_SPI_SCKHIGH;
                        SPI_Delay();
                }
                return RxData;
        }

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3 结帖奖励

查看全部评分

@羁绊(‧‧)nnn 回答时间:2018-8-5 17:58:14
感谢楼主分享!
wwwheihei 回答时间:2018-8-6 17:39:36
oceane 发表于 2018-3-29 12:41
问题解决,感谢各位帮助及回复,自己记录一下:
void SPI_Delay(void)
{

原因是什么?
12
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
13245底部标题123相同标题
12底部标题123相同标题
33333底部标题123相同序号
3435底部标题-无链接
关注我们
st-img 微信公众号
st-img 手机版