實現兩個STM32F103單片機之間的SPI通信
單片機源程序如下:- #include "stm32f10x.h" // Device header
- #include "oled.h"
- #include "delay.h"
- #include "MySPI_Master.h"
- #include "MySPI_Slave.h"
- //主機行為
- int main(void)
- {
- OLED_Init();
- MySPI_Master_Init();
- OLED_ShowString(1,1,"SPI MASTER");
-
- uint16_t sData=108, rData;
- while(1)
- {
- OLED_ShowString(2,1,"S:");
- OLED_ShowNum(2,3,sData,5);//當前發送的數據
-
- rData=MySPI_Master_SendReceive16bit(sData);
- OLED_ShowString(3,1,"R:");
- OLED_ShowNum(3,3,rData,5);//當前接收的數據
-
- sData=sData+10;//+10再發送給從機
- Delay_ms(1000);
- }
- }
- /***
- //從機行為
- int main(void)
- {
- OLED_Init();
- MySPI_Slave_Init();
- OLED_ShowString(1,1,"SPI Slave");
-
- uint16_t rData;
- while(1)
- {
- rData=MySPI_Slave_GetrData();
- OLED_ShowString(2,1,"R:");
- OLED_ShowNum(2,3,rData,5);//當前接收到的數據
-
- OLED_ShowString(3,1,"S:");
- OLED_ShowNum(3,3,rData+3,5);//+3再發送給主機
- }
- }
- ***/
復制代碼
原理圖: 無
仿真: 無
代碼:
兩個STM32的SPI通信.7z
(180.71 KB, 下載次數: 8)
2024-9-9 15:09 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|