OpenEdv-开源电子网

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

GDF103 SPI读写W25Q64失败 STM32就很轻松就可以了 不知道哪里出问题了

[复制链接]

55

主题

243

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1608
金钱
1608
注册时间
2012-12-30
在线时间
241 小时
发表于 2017-3-24 17:29:16 | 显示全部楼层 |阅读模式
10金钱
如题。希望有大牛可以借鉴一下你用GD32F103读写W25Q64的代码  满大街的STM32改过去就是读写不到

最佳答案

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

SPI_InitTypeDef SPI_InitStructure; GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO|RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOD,ENABLE); RCC_APB1PeriphClockCmd(RCC_APB1Periph_SPI3,ENABLE); GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE); SPI_I2S_DeInit(SPI3); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7; // PD7 CS íÆíì GPIO_Init ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

55

主题

243

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1608
金钱
1608
注册时间
2012-12-30
在线时间
241 小时
 楼主| 发表于 2017-3-24 17:29:17 | 显示全部楼层
        SPI_InitTypeDef SPI_InitStructure;
        GPIO_InitTypeDef GPIO_InitStructure;
       
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO|RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOD,ENABLE);
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_SPI3,ENABLE);
        GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);                 
        SPI_I2S_DeInit(SPI3);
       
       
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;  // PD7 CS íÆíì
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  //íÆíìêä3ö
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_Init(GPIOD, &GPIO_InitStructure);
        GPIO_SetBits(GPIOD,GPIO_Pin_7);
       

       
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_5;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
        GPIO_Init(GPIOB, &GPIO_InitStructure);
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
        GPIO_Init(GPIOB, &GPIO_InitStructure);
        GPIO_SetBits(GPIOB,GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5);       

        SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;
        SPI_InitStructure.SPI_Mode = SPI_Mode_Master;
        SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b;
//        SPI_InitStructure.SPI_CPOL = SPI_CPOL_High;
//        SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge;
        SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low;
        SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge;
        SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;
        SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_256;
        SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;
        SPI_InitStructure.SPI_CRCPolynomial = 7;
        SPI_Init(SPI3, &SPI_InitStructure);
       
        SPI_Cmd(SPI3, ENABLE);
       
        SPI3_ReadWriteByte(0xff);//Æô¶ˉ′«êä               

        这句必须加 不加上 断电重新上电SPI就不工作了 SPI_I2S_DeInit(SPI3);  就一句话搞了3天 我也是醉了 不过GD32F103没想象中这么容易从STM32移植 可能是我用到的功能比较多吧
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2017-3-24 18:39:47 | 显示全部楼层
应该是你配置的问题
回复

使用道具 举报

55

主题

243

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1608
金钱
1608
注册时间
2012-12-30
在线时间
241 小时
 楼主| 发表于 2017-3-24 20:10:09 | 显示全部楼层
正点原子 发表于 2017-3-24 18:39
应该是你配置的问题

我也是这么认为的 很奇怪的是刚JLINK下载是可以用的,但是断电之后重新上电就不行了 我一直都找不到原因
回复

使用道具 举报

55

主题

243

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1608
金钱
1608
注册时间
2012-12-30
在线时间
241 小时
 楼主| 发表于 2017-3-25 10:24:08 | 显示全部楼层
正点原子 发表于 2017-3-24 18:39
应该是你配置的问题

为什么进入DEBUG模式下运行就是可以的呢
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-8-22 20:21

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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