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.

[参考译文] CCS/TM4C129XNCZAD:TM4C129XNCZAD 上的 SSI 问题

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/572274/ccs-tm4c129xnczad-ssi-problem-on-tm4c129xnczad

器件型号:TM4C129XNCZAD

工具/软件:Code Composer Studio

您好!

 我在 TM4C129XNCZAD 的 SSI 上遇到了一些问题。 SSI 模块设为主机、发送数据时 SSI 模块不工作。 引脚 CSn 保持高电平、引脚时钟不变。 代码如下所示。

ui32SysClock = SysCtlClockFreqSet ((SYSCTL_XTAL_25MHz | SYSCTL_OSC_MAIN | SYSCTL_USE_OSC)、25000000);
SysCtlPeripheralEnable (SYSCTL_Periph_SSI0);
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOA);
GPIOPinConfigure (GPIO_PA2_SSI0CLK);
GPIOPinConfigure (GPIO_PA3_SSI0FSS);
GPIOPinConfigure (GPIO_PA4_SSI0RX);
GPIOPinConfigure (GPIO_PA5_SSI0TX);
GPIOPinTypeSSI (GPIO_Porta_base、GPIO_PIN_5 | GPIO_PIN_4 | GPIO_PIN_3 | GPIO_PIN_2);
SSIConfigSetExpClk (SSI0_BASE、ui32SysClock、SSI_FRF_MOTO_MOTO_0、SSI_MODE_MASTER、1000000、8);
SSIEnable (SSI0_BASE);
while (SSIDataGetNonBlocking (SSI0_BASE、&pui32DataRx[0]))


pui32DataTx[0]="S";
pui32DataTx[1]='p';
pui32DataTx[2]='I';
for (ui32Index = 0;ui32Index < NUM_SSI_DATA;ui32Index++)

SSIDataPut (SSI0_BASE、pui32DataTx[ui32Index]);

while (SSIBusy (SSI0_BASE))


for (ui32Index = 0;ui32Index < NUM_SSI_DATA;ui32Index++)

SSIDataGet (SSI0_BASE、&pui32DataRx[ui32Index]);
pui32DataRx[ui32Index]&= 0x00FF;

当运行到代码'SIDataPut (SSI0_BASE、pui32DataTx[ui32Index])'时、 片上的所有 SSI 引脚不会改变、SSIDR 寄存器保持为零、寄存器 SSISR 保持为0x3。

代码有什么问题?  

 

谢谢你

 

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

    我已要求 SME 为您提供帮助。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Maolin、
    乍一看、我看不到您的代码有什么问题。 您是否将 TX 和 RX 引脚连接在一起?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Amit 和 Charles、

    我找到了原因。 我没有定义芯片目标、所以 GPIOPCTL 的寄存器设置错误。  在手动定义目标或设置 GPIOPCTL 后、SSI 工作正常。

    感谢你的帮助。

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