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.

[参考译文] AM3358:裸机 SPI 编程

Guru**** 2618835 points

Other Parts Discussed in Thread: AM3358, SYSCONFIG

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/580587/am3358-bare-metal-spi-programming

器件型号:AM3358
Thread 中讨论的其他器件: SysConfig

您好!

我正在尝试配置 BeagleBone Black (AM3358 Sitara 处理器)的 SPI (裸机编程)、以便可以使用它发送和接收消息。 在我的设计中、BBBlack 是主器件、其他组件是从器件。  

在我的配置中、我通过启用 MCSPI_SysConfig 中的位1并等待 MCSPI_SYSSSTATUS 确认软复位已完成来执行软复位。 然后、在 MCSPI_SYST 中、我启用位5和位9以将 D0配置为发送器、将 D1配置为接收器。 在 MCSPI_MODULECTRL 中、我禁用位2并启用位0以在主模式下设置。

之后、我通过在寄存器 MCSPI_CHCONF 中启用位3和位4来配置将用于通信的通道0、将我的 clkD 设置为64分频、将位7、8、9和10设置为16位、 位6要在 SPIEN 中设置为低电平、最后、我要将位0设置为1以启动通道。

在主程序中、我尝试写入 Tx 寄存器以在 Rx 寄存器中发送内容、但没有成功。

我遵循 Sitara 技术参考手册 Manuel (第24.3.11章"编程帮助")中的程序。 此外、我不使用中断、而是使用忙等待循环。

***另外,默认情况下 Tx 已满,如何清空它?

此致