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

查看: 8701|回复: 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管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版