STM8L151K4T6的SPI通信问题

2019-07-19 20:22发布

void Erase_Chip(void)
{
  //06h 片选
  GPIO_WriteBit(NorFlash_SSN_PORT, NorFlash_SSN_PIN,RESET);  //cs low
  GPIO_WriteBit(NorFlash_SSN_PORT, NorFlash_SSN_PIN,RESET);  //cs low

  SPI_SendData(SPI1,0x06);
  while(SPI_GetFlagStatus(SPI1, SPI_FLAG_BSY) ==RESET);
  SPI_ReceiveData(SPI1);

  GPIO_WriteBit(NorFlash_SSN_PORT, NorFlash_SSN_PIN,SET);  //cs high

  //60h
  GPIO_WriteBit(NorFlash_SSN_PORT, NorFlash_SSN_PIN,RESET);  //cs low
  GPIO_WriteBit(NorFlash_SSN_PORT, NorFlash_SSN_PIN,RESET);  //cs low

  SPI_SendData(SPI1,0x60);
  while(SPI_GetFlagStatus(SPI1, SPI_FLAG_BSY) == RESET);
  SPI_ReceiveData(SPI1);

  GPIO_WriteBit(NorFlash_SSN_PORT, NorFlash_SSN_PIN,SET);  //cs high

  WaitWipReset();
}

程序卡在 while(SPI_GetFlagStatus(SPI1, SPI_FLAG_BSY) ==RESET); 这句话。

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。