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.

C6748在使用SYSBIOS的时候,SPI的PRESCALE设置的疑惑

Other Parts Discussed in Thread: SYSBIOS

您好,我使用的是C6748,目前使用的是SYSBIOS,现在想使用SPI1作为slave,并使用DMA做数据传输。

我参考的是pdk文件夹中biospsp的一个spi driver例程,在对照参考手册配置SPI的时候,发现

1. 在spruh79c.pdf的P1435页,SPIFMT的PRESCALE需要进行设置,但又是被忽略的 If the SPI is configured as slave, PRESCALE needs to be configured to a valid value, but PRESCALE is ignored。我很疑惑,如果这个PRESCALE设置为0,会影响SPI slave的性能吗?

2. 在参考例程的时候,我没有找到可以为SPI SLAVE设置PRESCALE的地方,因为如果要设置PRESCALE,可以通过配置Spi_Params结构体中的outputClkFreq成员来间接配置,但这是在SPI master模式下。请问在SYSBIOS系统下有什么办法可以做到给SPI slave配置这个prescale?

3.在spruh79c.pdf的P1426页,SPIDAT1的CSNR在slave模式需要配置为00h When the SPI is configured in slave mode, this field must be written as 00h。这里的0表示SPIx_SCS[n] pin is driven low. 而在同样的手册的P1433页中,SPIDEF要求在slave模式下配置为FFh,. In slave mode, the CSDEF field should be set to FFh. 这里的1又表示SPIx_SCS[n] pin is driven high。这样不是前后矛盾了吗?

  • SPI在slave模式,时钟是由外部提供的,所以不需要配置时钟。

    Chase Hong 说:
    3.在spruh79c.pdf的P1426页,SPIDAT1的CSNR在slave模式需要配置为00h When the SPI is configured in slave mode, this field must be written as 00h。这里的0表示SPIx_SCS[n] pin is driven low. 而在同样的手册的P1433页中,SPIDEF要求在slave模式下配置为FFh,. In slave mode, the CSDEF field should be set to FFh. 这里的1又表示SPIx_SCS[n] pin is driven high。这样不是前后矛盾了吗?

    SPIDAT1的CSNR说的是active时的电平。

    而在同样的手册的P1433页中,SPIDEF要求在slave模式下配置为FFh,. In slave mode, the CSDEF field should be set to FFh. 这里指的是inactive时的电平。

    当然应该是反的。