完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我一直在尝试使用 PSoC64 上的 SPI 总线(使用 Wi-Fi BT 安全启动开发工具包)。 我一直在使用最基本的 SPI,只是从 DEVID 寄存器读取数据,试图获得设备 ID。 这应该是一项非常简单的任务。 我按照英飞凌网站上的教程操作,特别是使用 HAL API。 用逻辑分析仪仔细检查后,问题就很明显了。 CS、SCKL 和 MOSI 引脚始终按预期工作,但 MISO(应在此处传输设备 ID 0xE5)却不工作。 大约有 20% 的时间会传输设备 ID,其余 80% 的时间会输出所有 0。 我试过调整 SPI 的速度,但没有任何区别。 总线失灵的原因似乎也没有规律可循。 有时有,有时没有......非常奇怪。 此外,这一问题在多个开发套件中都存在。 还有人遇到这个问题吗?
|
|
相关推荐
1个回答
|
|
PSoC 64 SPI 不工作的原因可能有很多。以下是一些建议和可能的问题,您可以尝试解决这个问题:
1. **硬件连接问题**:首先,请确保 SPI 引脚(CS、SCK、MOSI、MISO)正确连接到目标设备。检查是否有任何松动的连接或焊接问题。 2. **SPI 配置问题**:检查您的 SPI 配置是否正确。确保您选择了正确的 SPI 通道、时钟极性、时钟相位和其他相关设置。此外,确保您的 SPI 速度与目标设备兼容。 3. **软件问题**:检查您的代码,确保您正确地初始化了 SPI 接口,并在正确的时间发送和接收数据。此外,确保您正确地处理了 SPI 事务的开始和结束。 4. **目标设备问题**:确保目标设备(例如 Wi-Fi BT 安全启动开发工具包)的 SPI 接口正常工作。您可以尝试使用其他 SPI 设备进行测试,以排除目标设备的问题。 5. **电源问题**:不稳定或不合适的电源可能会影响 SPI 通信。确保您的 PSoC 64 和目标设备都获得了稳定的电源供应。 6. **电磁干扰(EMI)**:电磁干扰可能会影响 SPI 通信。尝试使用屏蔽电缆和/或在 SPI 引脚周围添加地线,以减少干扰。 7. **固件/软件更新**:检查您的 PSoC 64 和目标设备是否有可用的固件或软件更新。这些更新可能包含修复 SPI 通信问题的错误。 8. **调试和日志记录**:在您的代码中添加调试信息和日志记录,以便更好地了解 SPI 通信过程中发生的情况。这可以帮助您确定问题所在。 9. **尝试不同的 SPI 库或 API**:如果您使用的是 HAL API,可以尝试使用其他 SPI 库或 API,例如 CMSIS-DSP 或第三方库,看看问题是否仍然存在。 |
|
|
|
只有小组成员才能发言,加入小组>>
TLE9879_BLDC电机启动需要用手拨一下才能转动,怎么解决?
5707 浏览 2 评论
4090 浏览 9 评论
请问TLE5012B_E1000 启动后为什么位置不能正确获取
3606 浏览 9 评论
1214 浏览 8 评论
3508 浏览 7 评论
431浏览 2评论
257浏览 2评论
365浏览 2评论
TLE9879_BLDC电机启动需要用手拨一下才能转动,怎么解决?
5722浏览 2评论
如果是打开已有的dave工程,怎么查看这个工程选择的mcu型号?
434浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-4 00:57 , Processed in 0.498230 second(s), Total 48, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号