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

查看: 8768|回复: 9

STM32F207的SPI配置问题!!!!!!!!

[复制链接]

6

主题

14

回帖

0

蝴蝶豆

新手上路

最后登录
2020-12-7
发表于 2011-11-30 17:07:19 | 显示全部楼层 |阅读模式
 在调试207的SPI过程中遇到了一个奇怪的问题,求助于各位大侠了
在调试过程中发现,stm32f207的SPI口中所有的输入口好像都不工作,输出口工作正常,不知道什么原因
SPI口配置代码如下:
       GPIO_InitTypeDef GPIO_InitStructure;
 
        SPI_InitTypeDef  SPI_InitStructure;       
 
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1, ENABLE);       
        RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE);
       
        GPIO_PinAFConfig(GPIOA,GPIO_PinSource5,GPIO_AF_SPI1);
        GPIO_PinAFConfig(GPIOA,GPIO_PinSource6,GPIO_AF_SPI1);
        GPIO_PinAFConfig(GPIOA,GPIO_PinSource7,GPIO_AF_SPI1);       
 
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;       
        GPIO_InitStructure.GPIO_OType =GPIO_OType_PP;
        GPIO_InitStructure.GPIO_Pin = IO_PIN_BUS_CS;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_25MHz;
        GPIO_Init(IO_PORT_BUS_CS,&GPIO_InitStructure);
 
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
        GPIO_InitStructure.GPIO_OType =GPIO_OType_PP; 
        GPIO_InitStructure.GPIO_Pin = IO_PIN_BUS_MISO;
        GPIO_Init(IO_PORT_BUS_MISO,&GPIO_InitStructure);
 
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
        GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;       
        GPIO_InitStructure.GPIO_Pin = IO_PIN_BUS_SCK;
        GPIO_Init(IO_PORT_BUS_SCK,&GPIO_InitStructure);
       
        GPIO_InitStructure.GPIO_Pin = IO_PIN_BUS_MOSI;
        GPIO_Init(IO_PORT_BUS_MOSI,&GPIO_InitStructure);
       
        SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_256;
        SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge;
        SPI_InitStructure.SPI_CPOL = SPI_CPOL_High;
        SPI_InitStructure.SPI_CRCPolynomial = 0;
        SPI_InitStructure.SPI_DataSize = SPI_DataSize_16b;
        SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;
        SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;
        SPI_InitStructure.SPI_Mode = SPI_Mode_Slave;
        SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;
        SPI_Init(SPI1, &SPI_InitStructure);
 
        SPI_CalculateCRC(SPI1, DISABLE);
 
            NVIC_InitTypeDef NVIC_InitStructure;          NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
            NVIC_InitStructure.NVIC_IRQChannel = SPI1_IRQn;
            NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0 ;
            NVIC_InitStructure.NVIC_IRQChannelSubPriority = 2 ;
           NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
           NVIC_Init(&NVIC_InitStructure);       
        wvSpiItEnable();
       
        SPI_Cmd(SPI1,ENABLE);
期待得到答案,重复问题:spi口的输入性质的口好像都不工作,时钟和输入口都没工作 ,望高手帮我看看,期待。。。。。。
 
回复

使用道具 举报

134

主题

4489

回帖

239

蝴蝶豆

版主

最后登录
2020-12-9
发表于 2011-11-30 21:06:20 | 显示全部楼层

RE:STM32F207的SPI配置问题!!!!!!!!

SPI的时钟开启了吗?需要你在配置的时候打开。
回复 支持 反对

使用道具 举报

6

主题

14

回帖

0

蝴蝶豆

新手上路

最后登录
2020-12-7
 楼主| 发表于 2011-12-1 08:37:54 | 显示全部楼层

回复:STM32F207的SPI配置问题!!!!!!!!

回复第 2 楼 于2011-11-30 13:06:20发表:
SPI的时钟开启了吗?需要你在配置的时候打开。
在代码的第三行就开启了,谢谢你的回答,问题还是没找到。
 
回复 支持 反对

使用道具 举报

134

主题

4489

回帖

239

蝴蝶豆

版主

最后登录
2020-12-9
发表于 2011-12-1 09:47:06 | 显示全部楼层

RE:STM32F207的SPI配置问题!!!!!!!!

看不到你的IO口的配置,你能把IO_PIN_BUS_CS这些定义写出来吗?
回复 支持 反对

使用道具 举报

6

主题

14

回帖

0

蝴蝶豆

新手上路

最后登录
2020-12-7
 楼主| 发表于 2011-12-1 10:16:23 | 显示全部楼层

回复:STM32F207的SPI配置问题!!!!!!!!

回复第 4 楼 于2011-12-01 01:47:06发表:
看不到你的IO口的配置,你能把IO_PIN_BUS_CS这些定义写出来吗?
GPIO_InitTypeDef GPIO_InitStructure;
 
SPI_InitTypeDef  SPI_InitStructure;
 
RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1, ENABLE);
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE);
 
 
GPIO_PinAFConfig(GPIOA,GPIO_PinSource5,GPIO_AF_SPI1);
GPIO_PinAFConfig(GPIOA,GPIO_PinSource6,GPIO_AF_SPI1);
GPIO_PinAFConfig(GPIOA,GPIO_PinSource7,GPIO_AF_SPI1);
 
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_OType =GPIO_OType_PP;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_25MHz;
GPIO_Init(GPIOA,&GPIO_InitStructure);
 
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
GPIO_InitStructure.GPIO_OType =GPIO_OType_PP; 
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;
GPIO_Init(GPIOA,&GPIO_InitStructure);
 
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;
GPIO_Init(GPIOA,&GPIO_InitStructure);
 
 
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;
GPIO_Init(GPIOA,&GPIO_InitStructure);
 
 
SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_256;
SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge;
SPI_InitStructure.SPI_CPOL = SPI_CPOL_High;
SPI_InitStructure.SPI_CRCPolynomial = 0;
SPI_InitStructure.SPI_DataSize = SPI_DataSize_16b;
SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;
SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;
SPI_InitStructure.SPI_Mode = SPI_Mode_Slave;
SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;
SPI_Init(SPI1, &SPI_InitStructure);
 
SPI_CalculateCRC(SPI1, DISABLE);
 
 NVIC_InitTypeDef NVIC_InitStructure; NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);               NVIC_InitStructure.NVIC_IRQChannel = SPI1_IRQn;
 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0 ;
 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 2 ;
 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
 NVIC_Init(&NVIC_InitStructure);
 
SPI_I2S_ITConfig(SPI1, SPI_I2S_IT_RXNE, ENABLE);
SPI_I2S_ITConfig(SPI1, SPI_I2S_IT_ERR, ENABLE);
 

 
SPI_Cmd(SPI1,ENABLE);
 
谢谢管理员不辞辛苦的回答,非常感谢!

 
回复 支持 反对

使用道具 举报

6

主题

14

回帖

0

蝴蝶豆

新手上路

最后登录
2020-12-7
 楼主| 发表于 2011-12-1 10:18:04 | 显示全部楼层

回复:STM32F207的SPI配置问题!!!!!!!!

回复第 4 楼 于2011-12-01 01:47:06发表:
看不到你的IO口的配置,你能把IO_PIN_BUS_CS这些定义写出来吗?
忘了说了,这个IO_PIN_BUS_CS,即NSS引脚,我没有复用,只是当做普通IO口使用的。谢谢
 
回复 支持 反对

使用道具 举报

134

主题

4489

回帖

239

蝴蝶豆

版主

最后登录
2020-12-9
发表于 2011-12-1 16:13:14 | 显示全部楼层

RE:STM32F207的SPI配置问题!!!!!!!!

NSS主要是用来告诉从机要开始SPI通讯了,如果这个都不用,SPI通许将失败。
回复 支持 反对

使用道具 举报

3

主题

185

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2011-12-1 21:39:39 | 显示全部楼层

RE:STM32F207的SPI配置问题!!!!!!!!

应该是从机没有工作
回复 支持 反对

使用道具 举报

6

主题

14

回帖

0

蝴蝶豆

新手上路

最后登录
2020-12-7
 楼主| 发表于 2011-12-5 19:13:36 | 显示全部楼层

回复:STM32F207的SPI配置问题!!!!!!!!

 谢谢大家的回答,问题已解决。是因为引脚设置不对。
回复 支持 反对

使用道具 举报

0

主题

1

回帖

0

蝴蝶豆

新手上路

最后登录
2016-7-21
发表于 2015-6-10 14:45:06 | 显示全部楼层
liu_wenju 发表于 2011-12-5 19:13
 谢谢大家的回答,问题已解决。是因为引脚设置不对。

请问楼主,哪里没设置对,我也遇见这个问题了,很急
回复 支持 反对

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版