[N32L4xx] N32L406CBL7

[复制链接]
1819|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结构体初始化。
caigang13 发表于 2021-12-3 08:01 来自手机 | 显示全部楼层
SPI2的中断配置有问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

3

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部