This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMS570LS1224:SPI 无法获取中断

Guru**** 2473260 points
Other Parts Discussed in Thread: HALCOGEN

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/682991/tms570ls1224-spi-cannot-get-interrupt

器件型号:TMS570LS1224
主题中讨论的其他器件:HALCOGEN

你(们)好。 我只能使 SPI (而不是 mibspi)在轮询模式下工作、代码就像这样

   while ((spiREG1->FLG & 0x0200)=0);
   spiREG1->DAT1 = 0x1111 | 0x10010000;  //0x1111是数据

   while ((spiREG3->FLG & 0x0100)=0);
   printf ("%x\n"、spiREG3->BUF 和0xFFFF);

但我不会使中断方式起作用、代码是

   while ((spiREG1->FLG & 0x0200)=0);
   spiREG1->DAT1 = 0x1111 | 0x10010000;  //此传输成功

 while (1); //我应该在 notification.c 中获取中断。

其中 SPI1是主器件、SPI3是从器件。 我启用 SPIINT0 RX 中断位、即位8、然后我启用 VIM 通道37和38、它们是具有 IRQ 的 mibspi3低电平和高电平。 我在初始化过程中调用_enable_IRQ()。 但是,我无法在 notification.c 中获取中断,我看到有2个函数 spiEndNotification()和 spiNotification(),它们都无法获取中断。 顺便说一下、这两者有什么区别?

谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好 Joe、

    CSNR 应为0xFE、以便使用 CS0选择从器件。 使用哪个中断线路(INT0或 INT1)?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,王杰:

     昨天、我使用示波器进行检查、它不会在物理线路中发送任何数据。 但是、当我在同一器件中将 SPI 1连接到 SPI 3时、它可以工作、并且、我必须将所有 SCS 设置为 GIO、然后它将工作、否则、如果我将任何 SCS 设置为 SPI 功能、它将不工作。 我使用示波器检查 SCS 全部 GIO 并启用1 SCS、它们都无法发送任何数据。 当我不加载代码时、CLK 为高电平、当我加载代码时、CLK 立即变为低电平、SCS 始终保持高电平、SIMO 保持高电平、SOMI 保持低电平。 我认为硬件没有问题,这是源代码设置的问题,当前代码是:

    主要:

       spiInit();

       while ((spiREG1->FLG & 0x0200)=0);
       spiREG1->DAT1 = 0x5555 | 0x10FE0000;

       while (1);

    当我仅启用 SCS[0]时、不能在示波器中工作。 我的 HalCoGen 是4.7版本、

    对于配置、唯一不确定的部分是、请参阅屏幕截图、我认为如果我启用 SPI 1、那么 MIBSPI 将进入兼容模式、并在"SPI"标签下执行所有设置。 另一个设置是正确的、默认情况下、除了禁用除 SCS[0]以外的所有 SCS。 一切都保持不变

     

    让人疯狂。 谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,王杰:

    最后、我使它正常工作。 我想这是示波器的问题、它不能显示 CLK、SIMO、SOMI、SCS 的数据序列、我不知道示波器可能有一些错误的配置或其他一些东西。 我还有一篇文章 ,e2e.ti.com/.../683690 ,谢谢。