你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
举报
查看全部评分
wolfgang2015 发表于 2018-6-7 11:40 A、是片选信号正常,时钟也正常,可是发送的数据(即发送给FLASH的指令)出错了 1、检查通信位数设置,是否 ...
watercici 发表于 2018-6-7 11:53 首先对于第二问题,我说的没有时钟信号,就是在发送指令的时候没有,导致指令没有发送成功; 其次对于第 ...
lvwy0704 发表于 2018-6-7 15:04 楼主解决了没
jiangyia 发表于 2018-6-7 16:18 换一个存储芯片试试看?
真的是越来越不清醒了,写一个SPI字节的时候居然忘记要读取数据了,因为SPI为双线结构,只要时钟线有信号,两条线上都会有信号,我就只发送数据,要读取的数据的时候再读取,这样子会造成溢出标志OVR被置1,因为平时的数据没有被读取,又来一个,真正要读取的时候,就会发现,怎么都是FF,因为发送OVR之后,还是DR的内容不会被修改,所以都是FF。
查找原因过程:通过逻辑分析仪看到出来的数据明明是0x69,但是通过DR读取出来的数据确实0xff,进一步硬件仿真查看寄存器,发现OVR居然被置1,查手册分析得出。
1、检查通信位数设置,是否与W25Q16不匹配。
2、检查SPI程序,好像在8字节,16字节模式HAL的实现不同;
B、片选正常,但是没有时钟信号;
属于指令没有指令发送,没有指令发送自然不需要时钟信号。
评分
查看全部评分
首先对于第二问题,我说的没有时钟信号,就是在发送指令的时候没有,导致指令没有发送成功;
其次对于第一个问题,通信位数我选择的是8位的,应该是匹配的;
最后,我还想向您提供一个情况,我这个问题是在单步或若干步调试的时候会出现,如果不调试,正常运行,flash的数据是有读取成功的时候,而这个读取的过程就涉及了发送指令和读取数据两个过程,那么就说明SPI的读取和发送是有成功的时候的。但就是调试的时候会出现以上问题。
评分
查看全部评分
你单步调试的时候出现的,因为你虽然暂停调试了,但是硬件SPI不一定停止,所以各种奇怪的事情都有,最好还是全速运行看波形是否正确。
评分
查看全部评分
没有解决,反正就是调试的时候SPI通信会出问题?
换了,一共有两个板子,用在第二个板子上也是同样的问题?
【SPI写入数据的时候记得读取,不然会一直读出0xFF!】
真的是越来越不清醒了,写一个SPI字节的时候居然忘记要读取数据了,因为SPI为双线结构,只要时钟线有信号,两条线上都会有信号,我就只发送数据,要读取的数据的时候再读取,这样子会造成溢出标志OVR被置1,因为平时的数据没有被读取,又来一个,真正要读取的时候,就会发现,怎么都是FF,因为发送OVR之后,还是DR的内容不会被修改,所以都是FF。
查找原因过程:通过逻辑分析仪看到出来的数据明明是0x69,但是通过DR读取出来的数据确实0xff,进一步硬件仿真查看寄存器,发现OVR居然被置1,查手册分析得出。
评分
查看全部评分