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.

[参考译文] TMS320F28069:实现8位并行输出的最佳方法

Guru**** 2553260 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1061500/tms320f28069-best-way-to-implement-an-8-bit-parallel-output

器件型号:TMS320F28069

我需要使用 GPIO 端口向8位器件输出、是否有快速方法一次性写入8个端口?

每个端口的设置和清除位太慢。

谢谢你。

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

    David、

    您是否说同时对所有位执行的操作太慢?

    GpioDataRegs.GPACLEAR.ALL = 0x5A;
    GpioDataRegs.GPASET.all = 0xA5;

    或者您是否使用 的是:gpaclear.bit.gpio0 =1?

    此致、
    Cody  

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

    Cody、

    感谢您的回复。

    可能是通过直接写入 GPxDAT 寄存器(即 GpioDataRegs.GPADT.ALL  =0x5AAAAAAAAA)来计算它;

    尝试通过选择低字节和高字节来输出16位值、如果8个 GPIO 的2个组是并联的、则可以通过动态地将相应的8个 GPIO 组设置为输入、将另一个组设置为输出来选择低字节或高字节。 前提是电流输出组首先切换到输入以避免争用。 这是一个疯狂的想法吗?

    感谢您的帮助、

    Dave  

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

    嗯、我要承认、这似乎是一个疯狂的想法。 我不知道在输入和输出之间切换需要多长时间、这不是发布的数字。

    我想,如果你能运行实验,会很值得,它可能会更快,但我怀疑它不会比简单的写操作更快。  

    请注意、对 GPxDAT 寄存器的背靠背写入操作不会按预期工作。  https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/942389/faq-c2000-gpio-faq 

    此致、
    Cody  

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

    再次感谢 Cody、

    您猜可能是正确的、但会运行实验并告知您。 感谢有关连续写入 GPxDAT 寄存器的信息、非常有用。

    此致、

    Dave