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.

[参考译文] TMS570LC4357:SPI

Guru**** 2460850 points
Other Parts Discussed in Thread: HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1075231/tms570lc4357-spi

部件号:TMS570LC4357
“线程:HALCOGEN测试”中讨论的其它部件

使用:Launchpad TMS570lc43x /RM57Lx,Launchpad XL2

已配置,在 halcogen 中:

SPI

基本上只有 SPI1...只想运行该 SPI 总线...

设置:

MIBSPI1CLK =引脚 F18 = Booster Pak 2引脚 J5- 7.

MIBBI1NCS[0]=引脚 R2 = Booster Pak 2引脚 J6-3

MIBBI1SIMO[0]=引脚 F19 = Booster Pak 2引脚 J6- 6.

MIBBI1SOMI[0]=引脚 G18 = Booster Pak 2引脚 J6-7

将所有其他 NCS 引脚设置为 GPIO (在 halcogen 中)。仅基于 NCS[0] SPI。

已确保 PINMUX 中没有冲突...

运行 code..using 此功能:  UINT32 spiTransmitAndReceiveData (spibase_t *SPI,spiDAT1_t *dataconfut_t,UINT32块大小,uint16 * srcbux,uint16 * destbuy)

运行代码。

太克了,data...no CS……??????

正在运行时检查寄存器...

(即 DAT1)...我看到位28=1,我看到 CSNR = 0x37...(这是基于 SPNU563A 的 Herc Ref 手册中的表28-25引起混淆的...为什么要为一次传输激活这么多的/css????)

无论如何… 困惑……

只需尝试“简单”发送 SPI 数据...

任何想法/见解/帮助都值得赞赏。

根据 SOP,重新提交任何和所有回复...

谢谢

是的

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

    约翰:

    如果使用 CS0选择 SPI 设备,则 CSNR 应为0x3E 或0xFE。  

     您的代码中的数据通信 config_t 的值是多少?

    数据通信图1_t.CS_HOLD =假;
    数据通信图1_t.WDEL =假;
    数据通信图1_t.DFSEL = SPI_FMT_0;
    数据通信图1_t.CSNR = 0xFE;

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

    还可以……

    已检查 CNSR value...it 是否不是3E 或 FE...it 是否是 x37....

    我猜测是基于壁龛的设置...(?)...

    然后,我强制 CSNR 在函数中进入3E (UINT32 spiTransmitAndReceiveData (spiBASE _t *SPI,spiDAT1_t *dataconconfig_t,UINT32块大小,uint16 * srcbux,uint16 * destbux)...只是作为测试...

    R2上仍没有/CS?...

    我同样尝试了 CSNR 的各种设置 (即基于 参考手册中的表格)。我 探测了 SPI 1...nothing....?上所附的所有 CS

    我是如何做到这一点的(测试)

    UINT32 spiTransmitAndReceiveData (spibase_t *SPI,spiDAT1_t *dataconfig _t,UINT32块大小,uint16 * srcdrub,uint16 * destbuff)

    UINT16 Tx_Data;
    UINT32 Chip_Select_Hold =(数据通信 config_t->CS_Hold)? 0x10000000U:0U;
    UINT32 WDelay =(数据通信配置_t->WDEL)? 0x04000000U:0U;
    SPIDATAFMT_t 数据格式=数据通信配置_t->DFSEL;
    UINT8芯片选择=数据通信 fut->CSNR;
    ChipSelect = 0x3EU;

    我再次看到时钟,数据输出等...但没有 cs

    我确定我错过了一些简单的东西...但无法弄清楚它是什么...?

    我所做的只是试图用一个时间循环来写出 SPI 端口...只是为了看到事情发生。

    根据 SOP,在这方面应用您的专业知识和帮助。

    非常感谢

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

    约翰:

    1.已启用 HALCOGen“驱动器启用”中的 SPI1

    2.将 CS0配置为芯片选择,而不是 GIO:

    3.在 HAL pinmux 窗口中,确保为 R2选择了 MibSPI1CS0: