您好!
我正在进行 SPI 通信、并且我已经使用 GPIO 引脚而不使用 SPI 寄存器(UCxCTL)配置了 SPI 协议。
我可以在 GPIO 引脚上实现的最大频率是多少。 我想将 SPI 协议时钟频率配置为最低1MHz。 GPIO 引脚能否针对该频率进行配置?
谢谢你。
此致。
Balaji
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.
您好!
我正在进行 SPI 通信、并且我已经使用 GPIO 引脚而不使用 SPI 寄存器(UCxCTL)配置了 SPI 协议。
我可以在 GPIO 引脚上实现的最大频率是多少。 我想将 SPI 协议时钟频率配置为最低1MHz。 GPIO 引脚能否针对该频率进行配置?
谢谢你。
此致。
Balaji
CPU 至少需要3个 CPU 时钟(一条汇编器指令)才能进行端口写入。 如果器件在24MHz 上运行、则速度不能超过8MHz。 使用 DMA 可以在2个 CPU 周期内完成此操作、但在 FR2xx 系列中、AFAIK 没有 DMA。
您好 Dennis、
很抱歉、我是用其他一些方法测试的。 但我无法解决该问题。 我的疑问是、我们能否像 UART、SPI 等其他外设那样设置 GPIO 外设的时钟频率 如果我们可以设置、则意味着我们可以如何执行该操作。
我正在使用 GPIO 引脚实现 SPI 通信(不配置 SPI 驱动器)。 因为我可以发送数据、所以实施工作正常。 但时钟频率是我面临的主要问题。 我已将 GPIO P1.5配置为时钟引脚、 现在我想生成最低1MHz 的时钟。 如何实现这一点?
谢谢你。
您好、zrno soli、
很抱歉、我是用其他一些方法测试的。 但我无法解决该问题。 我的疑问是、我们能否像 UART、SPI 等其他外设那样设置 GPIO 外设的时钟频率 如果我们可以设置、则意味着我们可以如何执行该操作。
我正在使用 GPIO 引脚实现 SPI 通信(不配置 SPI 驱动器)。 因为我可以发送数据、所以实施工作正常。 但时钟频率是我面临的主要问题。 我已将 GPIO P1.5配置为时钟引脚、 现在我想生成最低1MHz 的时钟。 如何实现这一点?
谢谢你。
不能、与其他硬件外设一样、不能直接为 GPIO 位拆裂设置时钟。 MCLK 是 GPIO 的时钟源、它可以在汇编器中对齐(为相关的汇编器指令计算 CPU 时钟)。 例如此处...
https://forum.43oh.com/topic/1284-software-async-serial-txrx-without-timer/
您可以看到如何在 F2xx 系列上为软件 UART 使用周期对齐的汇编器代码。
当您改变时钟引脚(P1.5)的状态直到其他状态发生变化时、内部代码中还有一些其他操作需要一些时间、因此您无法实现1MHz (或其他一些值)。