This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

个别CC2530向SPI FLASH写入数据,程序跑飞。

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。

  • Aries,

    从故障板会过去的SPI Flash是否可以正常工作,排除是CC2530的问题的还是SPI Flash的问题,

    另外将故障板的CC2530和SPI Flash同时换到好的板子上面去,验证下是不是故障板的PCB板子有问题。

  • 我们也是采用华邦的SPI flash 做OTA升级,但是数据读取不正常,数据全部是0。后在数据输入端增加上拉电阻,才可以读取正常。请问一下这个是什么问题?数据口是否必须上拉?有什么改善方法?

    盼回复,谢谢