打印
[N32L4xx]

N32L406CBL7

[复制链接]
785|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
william75|  楼主 | 2021-12-1 16:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
pi, spi, SIP, TE, os
SPI2 接收不能进入中断。 SPI1 Master: CLK  PA5, MOSI PA7; SPI2 Slave: CLK PB13, MOSI PB14; RCC、GPIO、中断配置都正确,Code 运行SPI2 进不了中断。 抓SPI1 有数据送出。 将Master 和Slave 互换一下,SPI2 做为Master, CLK PB13, MOSI PB15, SPI1 能接收SPI2 送出的数据,SPI1 中断能进。 配置PB13 和PB14 为GPIO OUT, 示波器测试PB13 和PB14 的输出响应正常。 这是啥原因?

使用特权

评论回复
沙发
N32MCU| | 2021-12-1 16:27 | 只看该作者
提供一下测试的附件吧,让大家看看配置代码。

使用特权

评论回复
板凳
座次二十三| | 2021-12-2 16:54 | 只看该作者
    GPIO_InitStructure.Pin        = SPI_MASTER_PIN_SCK | SPI_MASTER_PIN_MOSI;
    GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_AF_PP;
    GPIO_InitStructure.GPIO_Alternate = GPIO_AF0_SP2;

例程测试能正常进入接收中断,但是数据不对。你当前MASTER是SPI1 ,SCK配置为PA5,复用应该选择GPIO_AF0_SP1,同样SPI2的配置也是一样的。另外建议打开从机接收SCK的下拉功能。

使用特权

评论回复
地板
座次二十三| | 2021-12-2 17:09 | 只看该作者
座次二十三 发表于 2021-12-2 16:54
GPIO_InitStructure.Pin        = SPI_MASTER_PIN_SCK | SPI_MASTER_PIN_MOSI;
    GPIO_InitStructure ...

   GPIO_InitStruct(&GPIO_InitStructure);
    /* Configure SPI_MASTER pins: SCK and MOSI ---------------------------------*/
    /* Configure SCK and MOSI pins as Alternate Function Push Pull */
    GPIO_InitStructure.Pin        = SPI_MASTER_PIN_SCK | SPI_MASTER_PIN_MOSI;
    GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_AF_PP;
    GPIO_InitStructure.GPIO_Alternate = GPIO_AF0_SPI1;  //GPIO_AF0_SPI1;
    GPIO_InitPeripheral(SPI_MASTER_GPIO, &GPIO_InitStructure);

另外在初始化SPI的GPIO前,先把GPIO结构体初始化。

使用特权

评论回复
5
caigang13| | 2021-12-3 08:01 | 只看该作者
SPI2的中断配置有问题

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

3

帖子

0

粉丝