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/TMS570LS0432:3.5 TFT LCD 与 tms570ls0432连接

Guru**** 2596665 points
Other Parts Discussed in Thread: TMS570LS0432, HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/740127/ccs-tms570ls0432-3-5-tft-lcd-interfacing-proplem-with-tms570ls0432

器件型号:TMS570LS0432
主题中讨论的其他器件: HALCOGEN

工具/软件:Code Composer Studio

大家好、我使用的是 tms570ls0432、并使用 SPI 协议从波浪形接口连接3.5英寸 TFT LCD、

我无法从 SPI 协议发送寄存器和数据、

我正在使用 SPI2、并将 MOSI、clk、cs (0)配置为输出、MISO 配置为输入。 我正在使用 spiTRansmitData()函数。

如果我们连接到外部从器件、如何启用外部引脚以读取数据  

如果在 SPI->BUF 的 spitransitdata 直列中有任何其他命令供 EEPROM 写入数据、

LCD 仅显示白色背景表示背光、

以及如何使用芯片选择功能使 Cs 变为高电平和低电平...

谢谢你

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    我假设您正在使用 HALCoGen。
    在 HALCoGen 中、应设置:
    在驱动程序启用选项卡中:
    -取消所有驱动程序的标记;
    -选中启用 SPI2驱动程序;
    在 PINMUX 选项卡中:
    -选中 SPI2复选框;
    在 SPI2 -> SPI2数据格式选项卡中:
    -在数据格式0部分中将字符长度设置为所需长度;
    在 SPI2 -> SPI2端口选项卡中:
    -将 SPI2 SOMI 设置为输入、将引脚模式设置为 SPI 功能;
    -将 SPI2 SIMO 设置为输出、将引脚模式设置为 SPI 功能;
    -将 SPI2 CLK 设置为输出、将引脚模式设置为 SPI 功能;
    -将 SPI2 SCS[0]设置为输出、将引脚模式设置为 SPI 功能。

    将未使用的引脚设置为 GIO。

    接线:
    主器件引脚 从器件引脚
    SIMO---- >SIMO (某些器件上的 MOSI 或 SDI);
    SOMI <---- SOMI (某些器件上的 MISO 或 SDO);
    CLK ------ >CLK
    CSn--- >CSn

    如果您将 SCS[0]设置为正常工作(而非 GIO)、则 SPI 模块将在需要时进行切换。 默认情况下,它为低电平有效。 在主控模式下、您可以通过更改 SPIDAT1的 CSNR 字段更改为高电平有效。

    有关 SPI 模块的更多信息、请参阅器件 TRM 第21节: www.ti.com/.../spnu517c.pdf

    在 CCS 中:
    -在使用任何与 SPI 模块相关的函数之前调用 spiInit()。


    不能使用 spiTransmitData 直接从 EEPROM 读取/写入数据。

    您可以使用 TI FEE 驱动器来读取/写入 EEPROM。 有关如何使用 FEE 驱动程序的信息,请参见..\Hercules \HALCoGen\version\Docs\folder。

    但愿这对您有所帮助。

    此致、
    米罗
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的回复、
    无论您提到什么过程,我已经配置了它,我想了解有关 SpiTransmitData()的更多说明。
    空 SPI4W_Write_Byte (uint16数据)


    /* spiDAT1_t dataconfig1_t;

    dataconfig1_t.CS_hold =false;
    dataconfig1_t.WDEL = true;
    dataconfig1_t.DFSEL = SPI_FMT_0;
    dataconfig1_t.CSNR = 0xFE;
    *

    /*通过 CPSR 启用 CPU 中断*/
    _enable_IRQ ();
    spiInit();
    // spiEnableLoopback (spiREG2、Digital_LBK);
    if (SpiTxStatus (spiREG2)!= 0)

    //spiTransmitData (spiREG2、&dataconfig1_t、8、&data);
    while ((spiREG2->FLG & 0x0100)=0);//等待 TXINTFLG 设置为之前的传输
    spiREG2->DAT1 =数据| 0x100D0000;


    此功能能否正常工作????
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    spiTransmitData 使用轮询方法传输数据。 在代码中、您使用的是返回 TX_DATA_STATUS 的 spiTxStatus 函数。 TX_DATA_STATUS 值在中断处理程序中分配、默认情况下不启用 Tx 中断。 如果要使用中断方法发送数据、请检查 spiSendData 函数。 您不必在每次必须发送数据时调用 spiInit。 通常,spiInit 在 main.c 中只调用一次。
    将 DH 分配到 SPIDATx 寄存器中的 CSNR 域可使 CS1变为低电平有效、并且您提到 CS0是您要使用的那个。 如果 CS0需要为低电平有效、则分配给 CSNR 域的值必须为 EH。
    您还可以设置 CSHOLD 位。 这将在传输之间保持 CS 处于活动状态。


    此致、
    米罗