完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
使用NSS soft模式,作为主机
NSSP和ti mode全关闭 CPOL和CPHA这两个设置和从机已经反复对过,都等于1。包括平常clk是高位和第二个clk变化边缘读取数据 传输数据正常,能够正常传入从机。 几个从机的传输信号和片选信号经过示波器和逻辑分析仪完全正常,有数据输入输出波形也正常; 但是我从DR寄存器中读数据的时候发现,仅有前4字节可以正常接收到,之后接收的数据全部都是0。 我看了一下数据手册,发现rxfifo刚好4个字节。 难道rxfifo写满了之后要对哪一个寄存器进行操作才可以将rxfifo的指针调回去? 可是我看了很久手册都没有找到相应的说明; 或者也可能是因为我在初始化的时候哪个步骤做错了? |
|
相关推荐
1个回答
|
|
对于SPI的接收,可以使用如下的步骤:
1. 确保CPOL和CPHA设置正确,与从机相匹配。 2. 确保NSSP和TI mode被完全关闭。 3. 确保SPI的时钟频率设置正确。 4. 通过读取SR寄存器来确保接收缓冲区中是否有数据,如果有,则可以通过读取DR寄存器来获取数据。 5. 如果接收的数据仅有前4字节可以正常接收到,可能是因为接收缓冲区已满,需要及时读取,以便接收更多的数据。可以通过轮询SR寄存器中的RXNE位来检查接收缓冲区是否为空,如果为空,则可以读取DR寄存器中的数据。 6. 如果需要接收更多的数据,可以通过设置SPI控制寄存器(CR2)中的FIFO threshold来选择FIFO的阈值,以控制接收缓冲区的大小。请参考数据手册中的相关章节或寄存器描述以获取更详细的信息。 另外,如果以上方法未能解决您的问题,请提供更多关于您的代码和硬件连接的信息,以便更好地帮助您解决问题。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1614 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1541 浏览 1 评论
970 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
682 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1592 浏览 2 评论
1863浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
644浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
515浏览 3评论
531浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
504浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 01:13 , Processed in 1.598609 second(s), Total 83, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号