WCH沁恒单片机
直播中

chunhuahua

8年用户 1342经验值
擅长:接口/总线/驱动
私信 关注
[问答]

ch32f203RC spi2每次读数据前面都会多一个字节0xFF怎么处理?

通过ch32f203RC 的spi2口访问 spi flash at45db041,在线调试时读写数据正常,脱机运行,读flash时,每次读数据前面都会多一个字节0xFF,通过逻辑分析仪抓的数据分析,又没有多一个字节0xFF。
  

回帖(1)

沈会笛

2022-9-16 09:29:21
您好,关于你的问题,请问一下是固定每次读数据多一个0xFF么?(比如正常读5个数据,但读出6个,除第一个为0xFF,后面5个正常),若遇到该类问题,可按照下列方法尝试一下:
1、检查一下SPI初始化配置中NSS信号由硬件控制还是软件控制,若配置为硬件控制可改为软件控制试一下。此外注意将片选引脚的默认电平改为高电平;

2、由于SPI全双工特性,当CLK工作时,两根数据线都会进行数据传输,SPI在接收时也会发送数据,从机会接收一个数据,若该数据为能识别的命令值就会对主机产生影响,因此需要在接收数据之前发送0xFF,从机不识别0xFF命令,就不会对主机产生影响;
3、可注意检查一下状态寄存器的值,当读出0xFF时某个标志位是否会有问题,如OVR标志位。注意写入数据的时候要记得读取;
4、可通过降低SPI频率试一下
此外,在我们EVT中有对应SPI操作FLASH的例程,可以参考下,EVT下载链接如下。后续若有问题,可通过邮箱(lzs@wch.cn)和我沟通
CH32F203 EVT:https://www.wch.cn/downloads/CH32F20xEVT_ZIP.html
举报

更多回帖

发帖
×
20
完善资料,
赚取积分