您的位置 首页 FPGA

STM8 SPI 例程 通讯犯错

这个STM8的SPI通信也够奇葩的,跟STM32有大区别。光判断发送空和接收空的标志还不行,还必须判断忙标志位,而且读数的时候要等忙标志完毕才…

这个STM8SPI通讯也够奇葩的,跟STM32有大差异。光判别发送空和接纳空的标志还不可,还必须判别忙标志位,并且读数的时分要等忙标志结束才干读,废话少说上代码:

这是一段发2字节收2字节的代码,留意假如第二个字节接纳才有用的话,也需求发送第二个字节才干供给时钟进行接纳:

  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);

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/fpga/275397.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部