新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > STM8 SPI 例程 通信出錯

STM8 SPI 例程 通信出錯

作者: 時間:2016-11-10 來源:網絡 收藏
這個STM8SPI通信也夠奇葩的,跟STM32有大區(qū)別。光判斷發(fā)送空和接收空的標志還不行,還必須判斷忙標志位,而且讀數的時候要等忙標志完畢才能讀,廢話少說上代碼:

這是一段發(fā)2字節(jié)收2字節(jié)的代碼,注意如果第二個字節(jié)接收才有效的話,也需要發(fā)送第二個字節(jié)才能提供時鐘進行接收:

本文引用地址:http://m.butianyuan.cn/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通信出

評論


技術專區(qū)

關閉