ZHCZ038A October   2017  – June 2025 MSP432E401Y , MSP432E411Y

 

  1.   1
  2. 1MSP432E4 SimpleLink™ 微控制器
    1. 1.1 简介
    2. 1.2 器件命名规则
    3. 1.3 器件标识
    4. 1.4 勘误表概述
    5. 1.5 勘误说明
      1.      ADC#13
      2.      ADC#14
      3.      EPI#01
      4.      GPIO#09
      5.      GPTM#09
      6.      GPTM#15
      7.      HIB#10
      8.      HIB#16
      9.      HIB#18
      10.      HIB#19
      11.      MEM#07
      12.      MEM#15
      13.      MEM#16
      14.      PWM#04
      15.      PWM#05
      16.      PWM#06
      17.      QEI#01
      18.      SSI#03
      19.      SSI#05
      20.      SSI#06
      21.      SSI#07
      22.      SSI#08
      23.      SYSCTL#03
      24.      SYSCTL#18
      25.      SYSCTL#24
      26.      USB#04
      27.      WDT#08
    6. 1.6 附录 1:
    7. 1.7 附录 2:
  3. 2商标
  4. 3修订历史记录

SSI#05

SSI 的双模式和四模式下的总线争用

说明

当 SSI 配置为双模式或四模式并且在 SSI 配置为接收模式后执行对外部存储器的读取时,第一次读取的数据可能会在 SSI 数据管脚上发生总线争用。

权变措施

在将 SSI 配置为接收模式(设置 QSSI 控制 (SSICR1) 寄存器的 DIR 位)之后,在第一个有效读取操作之前从存储器执行虚拟读取。例如:

    SSIConfigSetExpClk(SSI0_BASE,SysCtlClockFreqSet (), 
    SSI_FRF_MOTO_MODE_0, SSI_MODE_MASTER, 1000000, 8);
    SSIAdvModeSet(SSI0_BASE, SSI_ADV_BI_READ); //Receive Mode set
    SSIDataPut(SSI0_BASE, &pui32DataRx[ui32Index]); //intentional dummy write
    SSIDataGetNonBlocking(SSI-_BASE, ui32Dummy); //dummy read
    SSIDataPut(SSI0_BASE, &pui32DataRx[ui32Index]); //intentional dummy write
    SSIDataGetNonBlocking(SSI0_BASE, &pui32DataRx[0])); //first intentional read
    SSIDataPut(SSI0_BASE, &pui32DataRx[ui32Index]); //intentional dummy write
    SSIDataGetNonBlocking(SSI0_BASE, &pui32DataRx[1])); //second intentional read

如果传送通常需要任何虚拟操作,例如上面显示的有意虚拟写入,则虚拟读取应在正常虚拟操作之前发生。

请注意,如果您的应用对 SSIClk 很敏感,则虚拟读取会输出一个时钟周期。在执行虚拟读取的同时将 SSIClk 引脚重新配置为 GPIO 输入,以防止这种情况影响您的时钟敏感型应用。