embedded - 需要解释 PSOC4 Cypress SPI 寄存器
问题描述
为 SPI 主机编写代码 - CYpress PSOC4。
目前我有一条短路的MOSI和MISO线来测试基本的SPI通信。在技术手册中,他们为 SPi 初始化提供了以下这些步骤之一。我需要有关这些寄存器的更多详细信息。要清楚地了解这些寄存器。
问题:加载到 tx 写寄存器的值仍然是空的。
来自参考手册:
15.2.6 启用和初始化 SPI
SPI 必须按以下顺序编程:
- 分别使用 SCB_TX_FIFO_CTRL 和 SCB_RX_FIFO_CTRL 寄存器对发送器和接收器 FIFO 进行编程,如表 15-5 所示:
一个。设置触发电平。
湾。清除发送器和接收器 FIFO 和移位寄存器。
C。冻结 TX 和 RX FIFO
但无法理解上面的寄存器值。还需要有关 WR_PTR、RD_PTR、SR_VALID、USED 的更多详细信息。
无法在 SCB_TX_FIFO_WR 中写入数据。我缺少这些寄存器设置。
解决方案
推荐阅读
- c# - 使用 Newtonsoft 的预期 C# 未抛出异常
- laravel - 来自 WordPress 的 Laravel 和 Moodle 应用程序的 SSO
- ubuntu - 在没有 ca-certificates 包的情况下将受信任的 CA 添加到 ubuntu
- angular - 除了我之外的任何人都清楚 Angular 组件接收数据但不更新
- python-sphinx - 有没有办法在 Sphinx 中使用由 Doxygen 生成的点文件?
- kubernetes - 如何在 Datadog 上为 Kubernetes 创建 ImagePullBackOff 警报及其恢复警报?
- python - 当输入为 10.1 时,它显示错误,但为什么?我认为它应该将其转换为整数?
- c# - EF Core 能否按非选定列排序(EF Core Net 5)
- next.js - 如何在 hexo 博客的同一行中设置两个图像?
- c++ - 如何确定 std::filesystem::remove_all 是否失败?