找回密码
立即注册
搜索
热搜: 活动 交友 discuz
发新帖

132

积分

0

好友

9

主题
发表于 2023-9-20 13:05:34 | 查看: 150| 回复: 3 IP:广东省珠海市 电信

HC32F4A0在使用SPI时,发现每帧8个CLK后面会硬延时3个CLK,无法做到连续发送。是HC32 spi的特性吗?有没有办法消除掉,3个CLK太占用时间了。

eeee64ee31b992344fd55482374b85e6_154246okiiim42qfo4k9zb.png.thumb.jpg

发表于 2023-9-20 13:07:55 IP:广东省珠海市 电信

HC32F4A0的SPI确实有每帧8个CLK后面会硬延时3个CLK的现象。这是由于SPI的间隔延时(t3)的设置导致的。您可以通过SPI_DelayTimeCfg函数来配置SPI的延时参数,其中u32IntervalDelay参数就是控制每帧之间的延时时间。您可以将其设置为SPI_INTERVAL_TIME_0SCK_0PCLK1,这样就可以实现连续发送,不会有额外的延时。您可以参考这篇文章中的SPI初始化代码,其中有设置SPI的延时参数的例子。希望这能对您有所帮助。😊

发表于 2023-9-20 13:09:10 IP:广东省珠海市 电信
是HC32 spi的特性,没有办法消除
发表于 2023-9-20 13:09:32 IP:广东省珠海市 电信
尝试用 DMA 方式发送,且用寄存器方式写,可以尽可能地缩短中间间隔了。
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|国产电子社区 ( 沪ICP备2023018578号-1|

苏公网安备 32011102010465号


)|网站地图

GMT+8, 2024-4-19 20:48 , Processed in 0.068805 second(s), 26 queries , MemCached On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表