Other Parts Discussed in Thread: CC2530, Z-STACK
运行Z-stack,硬件为CC2530+华邦SPI FLASH。运行到向SPI FLASH写入数据时,除一个硬件出现异常,其余都成功。
出现异常的硬件如下:PC指针指向了一个不确定的位置。我的SPI采用CC2530的硬件SPI,驱动如下,速度4MHz。
/******************************************************************************
* @fn hal_SpiInit
*
* @brief SPI initial
*
* @param None.
*
* @return None.
*/
uint8 HalSpiWriteRead(uint8 wByte)
{
uint8 rByte = 0;
U1CSR &= ~0x02;
U1DBUF = wByte;
while (!(U1CSR & 0x02));
rByte = U1DBUF;
return rByte;
}
通过断点调试,发现当CC2530快速擦除SPI FLASH后,如果立即写入数据,那么PC寄存器会指向一个不确定的位置。而且只出现在故障板上,我交换了一块正常板和一块故障板的FLASH芯片,发现故障板依然无法写入FLASH。