標題: 兩個STM32單片機之間的SPI通信程序 [打印本頁]

作者: cenyufu    時間: 2024-9-9 14:48
標題: 兩個STM32單片機之間的SPI通信程序
實現(xiàn)兩個STM32F103單片機之間的SPI通信

單片機源程序如下:
  1. #include "stm32f10x.h"                 // Device header
  2. #include "oled.h"
  3. #include "delay.h"
  4. #include "MySPI_Master.h"
  5. #include "MySPI_Slave.h"


  6. //主機行為
  7. int main(void)
  8. {
  9.         OLED_Init();
  10.         MySPI_Master_Init();
  11.         OLED_ShowString(1,1,"SPI MASTER");
  12.        
  13.         uint16_t sData=108, rData;
  14.         while(1)
  15.         {
  16.                 OLED_ShowString(2,1,"S:");
  17.                 OLED_ShowNum(2,3,sData,5);//當前發(fā)送的數(shù)據(jù)
  18.                
  19.                 rData=MySPI_Master_SendReceive16bit(sData);
  20.                 OLED_ShowString(3,1,"R:");
  21.                 OLED_ShowNum(3,3,rData,5);//當前接收的數(shù)據(jù)
  22.                
  23.                 sData=sData+10;//+10再發(fā)送給從機
  24.                 Delay_ms(1000);
  25.         }
  26. }



  27. /***
  28. //從機行為
  29. int main(void)
  30. {
  31.         OLED_Init();
  32.         MySPI_Slave_Init();
  33.         OLED_ShowString(1,1,"SPI Slave");
  34.        
  35.         uint16_t rData;
  36.         while(1)
  37.         {       
  38.       rData=MySPI_Slave_GetrData();

  39.                 OLED_ShowString(2,1,"R:");
  40.                 OLED_ShowNum(2,3,rData,5);//當前接收到的數(shù)據(jù)
  41.                
  42.                 OLED_ShowString(3,1,"S:");
  43.                 OLED_ShowNum(3,3,rData+3,5);//+3再發(fā)送給主機
  44.    }
  45. }       
  46. ***/

復制代碼

原理圖: 無
仿真: 無
代碼: 兩個STM32的SPI通信.7z (180.71 KB, 下載次數(shù): 8)





歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1