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/TMS320F2812:关于 SPI

Guru**** 2539500 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/761430/ccs-tms320f2812-about-spi

器件型号:TMS320F2812

工具/软件:Code Composer Studio

大家好,当我使用 SPI 接口时,当  在 反向模式下进行调试时,数据会被发送,但它会在 “while (SpiaRegs.SPIFFRX.bit.RXFFST!=1)”中停止;“总是,我不知道原因。 我的代码如下:

空 InitSpi (空)

   EALLOW;
       GpioMuxRegs.GPFMUX.ALL = 0x000f;
       EDIS;

  //初始化 SPI-A:
   SpiaRegs.SPICCR.bit.SPISWRESET=0;//重置 SPI
   SpiaRegs.SPICCR.all =0x0017;                //复位打开、上升沿、8位字符位
   SpiaRegs.SPICTL.ALL =0x0006;                //启用主控模式、正常相位、
   SpiaRegs.SPISTS.All=0x0000;
   SpiaRegs.SPIBRR = 0x007F;                     // LSPCLK/(SPIBRR+1)
   SpiaRegs.SPICCR.all =0x0087;                //从复位中撤回 SPI

UINT16 SpiReadWrite (UINT16 wdata)

   uint16 RDATA;

   SpiaRegs.SPITXBUF=wdata;
   while (SpiaRegs.SPIFFRX.bit.RXFFST!= 1);
   RDATA = SpiaRegs.SPIRXBUF;

    返回 RDATA;

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

    您似乎没有使用 FIFO。 如果不使用 FIFO、我建议使用 SPISTS 位。

    -Mark