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/MSP432P401R:具有 DMA 的 SPI

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/862185/ccs-msp432p401r-spi-with-dma

器件型号:MSP432P401R

工具/软件:Code Composer Studio

我参考 examples/TI Drivers/spilopback 开发了我的项目。

http://dev.ti.com/tirex/explore/node?node=AC9hN5J9IbnJPExEuCz-7Q__z-lQYNj__LATEST

此驱动程序是否自动使用 DMA 进行 SPI 通信?

我是否必须单独设置它?

最大 SPI 最大速度是多少?

据说数据表是16MHz、使用它需要哪些设置?

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

    尊敬的 Joonbum:

    是的、SPI 驱动程序已经使用了 DMA、您不必单独配置它。  

    您可以使用 SPI 参数结构来配置位速率:

    typedef 结构{
    SPI_TransferMode 传输模式; /*!<阻塞或回叫模式*/
    uint32_t transferTimeout;/*!<系统中的 Transfer timeout
    滴答*/
    SPI_CallbackFxn transferCallbackFxn;/*!<回调函数指针*/
    SPI_Mode 模式; /*!<主或从模式*/
    /*! @简要 SPI 比特率、单位为 Hz
    *
    *硬件支持的最大位速率:
    *器件系列|从器件最大值(MHz)|主器件最大值(MHz)|
    *-------- |--- |--- |
    * MSP432P4 | 16MHz | 24MHz |
    * MSP432E4 | 10MHz | 60 MHz |
    * CC13XX/CC26XX | 4MHz | 12MHz |
    * CC32XX | 20 MHz | 20 MHz |
    *
    *请注意、根据具体的用例、驱动程序可能不会
    *支持硬件的最大位速率。
    *
    uint32_t 比特率;
    uint32_t 数据大小; /*!<以位为单位的 SPI 数据帧大小*/
    SPI_FrameFormat 帧格式; /*!< SPI 帧格式*/
    无效 *自定义; /*!<驱动程序使用的自定义参数
    实施*/
    }SPI_Params; 

    谢谢、

    Alexis