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

STM32F030C8T6 SPI1问题

[复制链接]
时光虫子 提问时间:2016-5-6 22:37 /
STM32F030C8T6  SPI1 引脚PA4  (SPI1_NSS)
PA5  (SPI1_SCK)
PA6  (SPI1_MISO)
PA7  (SPI1_MOSI)

程序是在F103移植过去的,没有反应,在论坛找了一个SPI例子,里面用的是PB3-PB4-PB5改了一下引脚定义成我自己的也是没有反应,
是不是不能用着几个引脚上的SPI啊
PA4  (SPI1_NSS)
PA5  (SPI1_SCK)
PA6  (SPI1_MISO)
PA7  (SPI1_MOSI)

收藏 评论12 发布时间:2016-5-6 22:37

举报

12个回答
废鱼 回答时间:2016-5-7 09:01:06
楼主有没有配置对应IO的AF功能?最好把SPI的初始化代码贴出来。
时光虫子 回答时间:2016-5-7 09:30:56
void SPI1_InitConfig(void)
{  
        GPIO_InitTypeDef  GPIO_InitStructure;
        SPI_InitTypeDef   SPI_InitStructure;
       
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1,   ENABLE);
       RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA,    ENABLE);
       GPIO_PinAFConfig(GPIOA, GPIO_PinSource5,  GPIO_AF_0);                        // 配置PA5 复用功能
      GPIO_PinAFConfig(GPIOA, GPIO_PinSource6,  GPIO_AF_0);                        // 配置PA6 复用功能
     GPIO_PinAFConfig(GPIOA, GPIO_PinSource7,  GPIO_AF_0);                        // 配置PA7 复用功能

        GPIO_InitStructure.GPIO_Pin   = GPIO_Pin_4;  //SPI CS
        GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_OUT;
        GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
    GPIO_InitStructure.GPIO_PuPd  = GPIO_PuPd_UP;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_Level_3;
        GPIO_Init(GPIOA, &GPIO_InitStructure);
//        GPIO_SetBits(GPIOA,GPIO_Pin_4);       
        SetNSS();


        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
    GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
    GPIO_InitStructure.GPIO_PuPd  = GPIO_PuPd_DOWN;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_Level_3;
        GPIO_Init(GPIOA, &GPIO_InitStructure);

//        GPIO_SetBits(GPIOA,GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7);

       
        //SPI CONFIGURATION
        SPI_InitStructure.SPI_Direction     = SPI_Direction_2Lines_FullDuplex;         
        SPI_InitStructure.SPI_DataSize      = SPI_DataSize_8b;
        SPI_InitStructure.SPI_CPOL          = SPI_CPOL_High;
        SPI_InitStructure.SPI_CPHA          = SPI_CPHA_2Edge;
        SPI_InitStructure.SPI_NSS           = SPI_NSS_Soft;   
        SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_2;
        SPI_InitStructure.SPI_FirstBit      = SPI_FirstBit_MSB;
        SPI_InitStructure.SPI_CRCPolynomial = 7;                                
        SPI_InitStructure.SPI_Mode          = SPI_Mode_Master;
        SPI_Init(SPI1, &SPI_InitStructure);
       
        //
        SPI_NSSInternalSoftwareConfig(SPI1, SPI_NSSInternalSoft_Set);
        SPI_RxFIFOThresholdConfig(SPI1, SPI_RxFIFOThreshold_QF);
        SPI_Cmd(SPI1, ENABLE); /* SPI enable */
       
       
}

时光虫子 回答时间:2016-5-7 09:31:16
安 发表于 2016-5-7 09:01
楼主有没有配置对应IO的AF功能?最好把SPI的初始化代码贴出来。

初始化应该没有问题
modu8888 回答时间:2016-5-7 16:54:09
楼主调试的怎么样了?
我最近在搞F1的应用,也要操作SPI等等,

你为什么不用STM32CubeMX?
废鱼 回答时间:2016-5-7 18:01:42
监听一下波形,看看有没有输出。注意NSS引脚是否拉低。
时光虫子 回答时间:2016-5-7 19:33:28
modu8888 发表于 2016-5-7 16:54
楼主调试的怎么样了?
我最近在搞F1的应用,也要操作SPI等等,

没有用过这个软件,看到很多人都在用,改天下载看看
时光虫子 回答时间:2016-5-7 19:34:33
安 发表于 2016-5-7 18:01
监听一下波形,看看有没有输出。注意NSS引脚是否拉低。

NSS片选是低电平,我在看看
pener 回答时间:2016-5-8 23:37:18
外设时钟打开不对
alisa123 回答时间:2016-5-9 09:03:10
ybhuangfugui 发表于 2016-5-8 23:53
关于SPI读写FLASH:https://www.stmcu.org.cn/module/forum/thread-606019-1-1.html

之前没有自己调试过spi,请问有关于两块MCU的SPI通讯的讲解吗??可否分享学习?谢谢
alisa123 回答时间:2016-5-9 11:02:55
ybhuangfugui 发表于 2016-5-9 09:12
两块MCU通信之前我使用过,后期我会分享出来,如果你那边不是很急的话,你可以关注一下我里面的微信公众 ...

我已经扫描关注了,希望以后多多分享交流,共同提高哈,谢谢!
alisa123 回答时间:2016-5-10 11:54:37
ybhuangfugui 发表于 2016-5-9 22:12
http://mp.weixin.qq.com/s?__biz=MzI4MDI4MDE5Ng==&mid=2247483741&idx=1&sn=56f4d708a798a117fab903904 ...

非常感谢,很详细的!有其他系列的讲解吗?比如stm32f0,stm32f3等等!
alisa123 回答时间:2016-5-10 11:57:09
ybhuangfugui 发表于 2016-5-9 22:12
http://mp.weixin.qq.com/s?__biz=MzI4MDI4MDE5Ng==&mid=2247483741&idx=1&sn=56f4d708a798a117fab903904 ...

楼主,辛苦你了,非常感谢!
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版