完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
L433单片机的SPI3,在从模式,开接收中断,LSB优先,CR2寄存器中DS设置为0111,也就是8位,在设置FRXTH位也就是接受8位就进接收中断的情况下,在每次中断里都读DR寄存器,似乎DR寄存器还是能读出多个8位的数据来,请问DR接收的寄存器,什么条件下能清空,似乎不是读一次就清空啊。类似的问题,DR发送的寄存器,什么条件下能清空,TXE位什么条件下会置0,什么条件下会置1,在每次单片机读取的同时,都会给DR写入8位数据,但是不是每次写入8位数据后,TXE位都会置0,而且SPI的主机那边会读到写入的数据跟00交替的数据,给人一种实际上数据有16位,而且写入失败的感觉?另外L433有中文手册吗,谢谢
|
|
相关推荐
1个回答
|
|
L433单片机的SPI3在从模式下,DR接收寄存器的清空条件如下:
1. 当接收到8位数据后,DR寄存器会被填满。此时,如果设置了FRXTH位,接收中断会被触发。 2. 在接收中断服务程序中,读取DR寄存器。读取后,DR寄存器会被清空,准备接收下一位数据。 关于DR发送寄存器的清空条件: 1. 当单片机向DR发送寄存器写入8位数据时,TXE位会被置1,表示可以发送数据。 2. 当SPI主机读取到DR发送寄存器中的数据后,TXE位会被置0,表示数据已被发送。 关于TXE位的状态变化: 1. 当单片机向DR发送寄存器写入8位数据时,TXE位会被置1。 2. 当SPI主机读取到DR发送寄存器中的数据后,TXE位会被置0。 3. 如果在每次单片机读取的同时,都会给DR写入8位数据,那么TXE位可能不会立即置0。这取决于SPI主机读取数据的速度。 关于SPI主机接收到的数据与00交替的问题: 1. 这可能是由于SPI主机和从机之间的通信速率不匹配导致的。请检查SPI主机和从机的时钟速率设置,确保它们匹配。 2. 另一个可能的原因是SPI从机在发送数据时,没有正确地等待SPI主机的读取请求。请检查SPI从机的代码,确保在发送数据之前等待SPI主机的读取请求。 总之,要解决这些问题,请确保SPI主机和从机之间的通信速率匹配,并在从机的中断服务程序中正确地读取和清空DR寄存器。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1659 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1571 浏览 1 评论
998 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
695 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1617 浏览 2 评论
1878浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
665浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
530浏览 3评论
548浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
517浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-30 20:44 , Processed in 0.711929 second(s), Total 79, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号