OpenEdv-开源电子网

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

关于如何在STM32F7 HAL库下面实现从机SPI的问题

[复制链接]

2

主题

3

帖子

0

精华

新手入门

积分
8
金钱
8
注册时间
2018-4-16
在线时间
2 小时
发表于 2018-4-20 15:11:01 | 显示全部楼层 |阅读模式
8金钱
各位好,切换HAL库以后以前熟悉的很多操作方法不会用了,HAL库下面不知道如何使用SPI从机的中断接收,请各位赐教。

最好有实现成功的例子提供参考一下,

void AD_SPI2_Init(void)
{
    GPIO_InitTypeDef GPIO_Initure;

    __HAL_RCC_GPIOC_CLK_ENABLE();       //使能GPIOC时钟
    __HAL_RCC_GPIOD_CLK_ENABLE();       //使能GPIOD时钟

    GPIO_Initure.Pin=GPIO_PIN_2|GPIO_PIN_3;                //MISO
    GPIO_Initure.Mode=GPIO_MODE_AF_PP;        //复用
    GPIO_Initure.Pull=GPIO_PULLUP;              
    GPIO_Initure.Speed=GPIO_SPEED_HIGH;        //高速
    HAL_GPIO_Init(GPIOC,&GPIO_Initure);

    GPIO_Initure.Pin=GPIO_PIN_3;                //CLK输入
    GPIO_Initure.Mode=GPIO_MODE_AF_PP;        //复用
    GPIO_Initure.Pull=GPIO_PULLUP;
    GPIO_Initure.Speed=GPIO_SPEED_HIGH;        //高速
    HAL_GPIO_Init(GPIOD,&GPIO_Initure);

        SPI2_Handler.Instance = SPI2;
        SPI2_Handler.Init.Mode = SPI_MODE_SLAVE;
        SPI2_Handler.Init.Direction = SPI_DIRECTION_2LINES_RXONLY;
        SPI2_Handler.Init.DataSize = SPI_DATASIZE_16BIT;
        SPI2_Handler.Init.CLKPolarity = SPI_POLARITY_HIGH;
        SPI2_Handler.Init.CLKPhase = SPI_PHASE_2EDGE;
        SPI2_Handler.Init.NSS = SPI_NSS_SOFT;
        SPI2_Handler.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_2;
        SPI2_Handler.Init.FirstBit = SPI_FIRSTBIT_MSB;
        SPI2_Handler.Init.TIMode = SPI_TIMODE_DISABLE;
        SPI2_Handler.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
        SPI2_Handler.Init.CRCPolynomial = 7;
        SPI2_Handler.Init.CRCLength = SPI_CRC_LENGTH_DATASIZE;
        SPI2_Handler.Init.NSSPMode = SPI_NSS_PULSE_DISABLE;
        if (HAL_SPI_Init(&SPI2_Handler) != HAL_OK)
        {
                //Error_Handler();
        }

        HAL_SPI_Receive_IT(&SPI2_Handler, SPI2_RxBuf, 100);     此处不知如何设置了,我只是单纯从模式接收,它这个库里面仍然有发送操作
    HAL_NVIC_SetPriority(SPI2_IRQn,2,5);
    HAL_NVIC_EnableIRQ(SPI2_IRQn);
}


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2018-4-21 02:33:54 | 显示全部楼层
回复

使用道具 举报

0

主题

4

帖子

0

精华

初级会员

Rank: 2

积分
74
金钱
74
注册时间
2018-4-23
在线时间
27 小时
发表于 2018-4-24 14:38:26 | 显示全部楼层
楼主你问题解决了吗,这几天我也在找这个问题。
回复

使用道具 举报

6

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
84
金钱
84
注册时间
2017-8-23
在线时间
34 小时
发表于 2018-4-27 11:28:40 | 显示全部楼层
SPI2没看到有配置时钟
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-8 05:29

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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