完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
我在主模式下使用 HSPI 外围设备与另一个设备通信。我想尽可能快地运行它,另一个设备可以处理 26.667MHz,即 80MHz 除以 3。我使用 SPI 模式 1,因此数据在 SCLK 的上升沿发生变化并在下降沿锁存。SCLK 高电平持续 12.5ns,低电平持续 25ns,但不幸的是,另一个设备在上升沿之后最多需要 15ns 才能在 MISO 上生成数据。所以我真的需要 SCLK 变高 25ns 而变低 12.5ns。
有什么办法可以做到这一点?我在写入 SPICLK 寄存器的数据上尝试了以下变化,结果如下(HLL = 时钟高电平持续 12.5ns,然后时钟低电平持续 2 * 12.5ns): SPI1CLK = (2 << 12) | (2 << 6) | 2; // 失败,时钟保持高电平 SPI1CLK = (2 << 12) | (2 << 6) | 1; // 失败,时钟变为 HLHLL SPI1CLK = (2 << 12) | (2 << 6) | 0; // 工作但时钟变为 HLL SPI1CLK = (2 << 12) | (1 << 6) | 2; // 工作但时钟变为 HLL SPI1CLK = (2 << 12) | (1 << 6) | 1; // 失败,时钟为 80MHz SPI1CLK = (2 << 12) | (1 << 6) | 0; // 失败,时钟变为 HLHLL SPI1CLK = (2 << 12) | (0 << 6) | 2; // 失败,时钟变为 HLHLL SPI1CLK = (2 << 12) | (0 << 6) | 1; // 工作但时钟变为 HLL SPI1CLK = (2 << 12) | (0 << 6) | 0; // 失败,时钟是 80MHz 我想我可以通过使用 SPI 模式 0 来绕过它,但如果我这样做,那么 ESP8266 会反转时钟信号,这样我就可以得到 25ns 的高电平和 12ns。 |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
944 浏览 0 评论
1671 浏览 0 评论
请问一下我想用ESP8685直接替换ESP8266而不用写程序,可以让ESP8685直接通过之前ESP8266的外挂的flash运行程序吗
1330 浏览 1 评论
1233 浏览 1 评论
5015 浏览 2 评论
为blufi_device设置自定义名称,但是无法修改,为什么?
1252浏览 4评论
请问ESP32-S2-WROOM怎么获得ESP32-S2外接FLASH的唯一序列号?
927浏览 3评论
2334浏览 3评论
ESP-IDF的VScode插件的build按钮点击会报错的原因?
2526浏览 3评论
ESP-Jumpstart例程中第5个工程:5_cloud连接报错是哪里的问题?
1051浏览 2评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 01:27 , Processed in 0.711124 second(s), Total 69, Slave 52 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
430
