新闻中心

EEPW首页>嵌入式系统>设计应用> STM8 SPI 例程 通信出错

STM8 SPI 例程 通信出错

作者: 时间:2016-11-10 来源:网络 收藏
这个STM8SPI通信也够奇葩的,跟STM32有大区别。光判断发送空和接收空的标志还不行,还必须判断忙标志位,而且读数的时候要等忙标志完毕才能读,废话少说上代码:

这是一段发2字节收2字节的代码,注意如果第二个字节接收才有效的话,也需要发送第二个字节才能提供时钟进行接收:

本文引用地址://m.amcfsurvey.com/article/201611/317109.htm
  1. GPIO_WriteLow(GPIOA,GPIO_PIN_3);
  2. while(SPI_GetFlagStatus(SPI_FLAG_TXE)==RESET){}
  3. SPI_SendData(0x80|0x75);
  4. while(SPI_GetFlagStatus(SPI_FLAG_BSY)==SET){}
  5. while(SPI_GetFlagStatus(SPI_FLAG_RXNE)==RESET){}/*¸Ã×Ö½Ú¶ªÆú*/
  6. ret1=SPI_ReceiveData();
  7. while(SPI_GetFlagStatus(SPI_FLAG_TXE)==RESET){}
  8. SPI_SendData(0x75);
  9. while(SPI_GetFlagStatus(SPI_FLAG_BSY)==SET){}
  10. while(SPI_GetFlagStatus(SPI_FLAG_RXNE)==RESET){}
  11. ret2=SPI_ReceiveData();
  12. GPIO_WriteHigh(GPIOA,GPIO_PIN_3);



关键词:STM8SPI通信出

评论


技术专区

关闭