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.

请教 TM4C SSI 做slave 模式时, 对SSI FSS pin输入的数值判断

麻烦请教大家一个关于SSI 用作SLAVE模式是,对FSS输入数据的读取问题。

应用背景, 使用SPI作为 CPU间通信的通道, TM4C1294的SSI工作在slave模式。

当TM4C想要向对端CPU发送数据是,通过一个单独的GPIO通知对端CPU,对端

CPU当收到这个GPIO中断时,拉低对TM4C的片选信号FSS, 并且向TM4C 发送

DUMMY数据。TM4C根据对端CPU提供的时钟发送数据 。

以上是正常的数据处理流程,但是又可能对端CPU比较忙不能及时处理TM4C发送

的GPIO通知事件,使得TM4C不能发送数据。所以在TM4C这边我们需要加入发送

超时处理机制。

目前我们的想法是在TM4C发送GPIO通知后,去读取FSS的输入,如果FSS被拉低,

说明传输可以正常进行。

我的问题是 怎么读取FSS的输入数值。 

是不是可以用
GPIOPinRead(GPIO_PORTB_BASE, GPIO_PIN_4);   //GPIO_PIN_4对应SSI的FSS

产生此疑问的原因是 GPIO_PIN_4已经被配置成了SSI模式 GPIOPinConfigure(GPIO_PB4_SSI1FSS)

不知道GPIO的相关的操作是否还有效。

希望能得到大家的帮助

多谢

  • TM4 做主机的话,FSS引脚还有可能作为IO使用(其他芯片是可能的,TM4上没试过),TM4用作从机的话,FSS引脚是从机信号选择引脚,不能用作GPIO功能的。事实上,你想多了,你的这句话

    如果FSS被拉低,

    说明传输可以正常进行

    只有FSS为低的时候,TM4C才可以作为从机,这样是不冲突的,直接接上就可以,不用GPIO读取的。

  • 多谢您的回复。

    可能我描述问题的时候不清晰。

         当TM4 用作从SSI 需要发送数据给对端主SSI时,会使用一个GPIO同时对端主SSI发送时钟过来,

         当如果对端CPU忙,没有及时处理这个GPIO中断,在TI TM4 这边我们需要在一个timeout时间后,

    上报应用层发送失败。 而在TI这边我们目前希望通过FSS的数据值来判断对端CPU是否相应了GPIO

    这个中断。

         所以才想去读FSS的数据值。 

  • FSS引脚状态即使在这个引脚被用作外设引脚时也是可以读到的。但是应该是不能作为IO中断方式来用了