完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
STM32F301R8T6(主控)
M95160-WMN6TP EEPROM(从机) 低级驱动程序 我一直在尝试根据 STM32F30x_DSP_StdPeriph_Lib_V1.2.3 SPI EEPROM 示例进行基本的 SPI EEPROM 测试。终于让写入工作正常,但是当我们开始从 EEPROM 回读时,我们在接收缓冲区中看到额外的三个字节的零。SPI 总线分析器显示来自 EEPROM 芯片的正确数据,因此 RX FIFO 中似乎仍有来自发送到 EEPROM 的三个读取命令字节的数据(0x03、0x00、0x20、读取命令和地址。)我我已尝试从该站点获取用于刷新 RX FIFO 的代码示例,但是当全速运行时(即不在调试器中停止),仍然有额外的三个 0x00 进入接收缓冲区。 当我们进入刷新功能时进入调试器时,SPI3->SR 寄存器显示接收缓冲区不为空 (RXNE) 和 FIFO 接收级别 (FRLVL) 为 0x3(FIFO 已满)。单次读取 SPI3-> 后DR 寄存器 RXNE 清零且 FRLVL 变为 0x0。如果 FIFO 接收缓冲区已满,单次读取仍应在 FIFO 中留下 3 个字节,而不是突然变空。我认为我们在这里遗漏了一些非常基本的东西,或者看到了一些奇怪的调试器引发的问题。有什么建议么? 谢谢
|
|
相关推荐
1个回答
|
|
Rx FIFO 在读取 EEPROM 命令后被刷新。
它是在读取命令的所有字节已经离开 SPI 之后刷新,还是在您将它们写入 Tx 缓冲区之后刷新(在这种情况下它们仍在 Tx FIFO 中并且没有任何刷新)? |
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2723 浏览 1 评论
3237 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1807 浏览 1 评论
3646 浏览 6 评论
6034 浏览 21 评论
1334浏览 4评论
209浏览 3评论
197浏览 3评论
对H747I-DISCO写程序时将CN2的st-link复用为usart1,再次烧录时无法检测到stlink怎么解决?
350浏览 2评论
STM32G474RE芯片只是串口发个数据就发烫严重是怎么回事?
442浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 20:40 , Processed in 1.024058 second(s), Total 77, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号