协议栈home1.2.2.a
目前使用OTA功能,外挂M25PE20-VMN6TP,程序阻塞在读取flash状态 这一步
XNV_SPI_BEGIN();
do
{
xnvSPIWrite(XNV_STAT_CMD);
//U1DBUF;
//buf = XNV_SPI_RX();
} while (XNV_SPI_RX() & XNV_STAT_WIP);
XNV_SPI_END();
使用示波器输出时序都正常,输出0x05,芯片返回来数据一直为0x05,芯片状态一直为忙,导致不通过,我怀疑是不是芯片型号不对?
Viki Shi:
型号对的
YiKai Chen:
用SPI protocol analyzer 或是示波器先量測一下SPI訊號有沒有問題
user6336125:
回复 YiKai Chen:
如上图,主机输出是正常的,但是flash从机波形异常,着不清楚是什么原因?是否是发射速率过快?目前设置速率为115200
YiKai Chen:
回复 user6336125:
你的ENABLE訊號應該只有SPI要運作的時候才拉成低電位,然後你的MISO訊號看起來就不對啊,不應該一個CLOCK里頭會有那麼多的高低電位變化
user6336125:
回复 YiKai Chen:
然后我MOSI和MISO都添加1K上拉电阻,第一次发送过去的波形,从机flash并没有回复,这个问题很奇怪,芯片都换了好几片,SPI速率也降下来了。
flash供电3.3V,RST和TOP那个引脚都是拉高处理。
YiKai Chen:
回复 user6336125:
从机flash有正常供電嗎?
user6336125:
回复 YiKai Chen:
是的,3.3V正常供电