完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好,
我有一个带有 Pi 和 STM 板的设置。Pi 就像一个 SPI 主机,STM 被设置为 SPI 全双工从机。 SPI 输入和输出缓冲区的大小相同,我想要的是当我从 pi 接收到 x 个字节时,我将 SPI 输出缓冲区的前 x 个字节发回。 我可以毫无问题地从 Pi 接收数据,但是当我将数据放入 DMA SPI 输出缓冲区时,下次 Pi 启动 SPI 通信时,从设备(STM)不会发送该数据。 我使用 HAL 库并像这样设置 STM: 在主要(无效)->
但是在主机(Pi)的下一个 SPI 包中,MISO(spi_buf_out)中不再有数据,该行保持为 0。 每次 Pi 开始 SPI 通信时,如何指示 HAL 库发回 spi_buf_out 的内容? 谢谢 |
|
相关推荐
1个回答
|
|
它终于奏效了,你的提示导致了解决方案。谢谢你 。我为其他人总结了解决方案。
HAL 库不适合此设置,我建议其他工程师编写自己的代码来访问寄存器,获得此权利至少花费与从 0 开始一样多的时间。 设置: Pi是SPI master,STM是SPI slave,每个SPI包转发到UART,一些外部设备应答。这个答案会在 Pi 发起的下一个 SPI 数据包中返回。 代码:
|
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2718 浏览 1 评论
3235 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1807 浏览 1 评论
3643 浏览 6 评论
6031 浏览 21 评论
1333浏览 4评论
208浏览 3评论
195浏览 3评论
对H747I-DISCO写程序时将CN2的st-link复用为usart1,再次烧录时无法检测到stlink怎么解决?
348浏览 2评论
STM32G474RE芯片只是串口发个数据就发烫严重是怎么回事?
440浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-20 00:07 , Processed in 1.296912 second(s), Total 78, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号