標(biāo)題: STM32和STM8之間串口通信簡單測試程序 [打印本頁]

作者: 叫我紅領(lǐng)巾    時間: 2019-9-25 22:04
標(biāo)題: STM32和STM8之間串口通信簡單測試程序
最近在學(xué)習(xí)正點原子串口實驗,正好手邊有塊STM8的開發(fā)板,于是想弄一個STM32和STM8之間串口通信的小程序。
發(fā)送采用STM8S208MB單片機,參考程序是思修電子的串口實驗;接收采用STM32F103ZET6單片機,參考程序是正點原子的串口實驗。
該程序?qū)崿F(xiàn)的最簡單的收發(fā)測試,通過按下STM8開發(fā)板復(fù)位鍵,LED閃爍一次,發(fā)送數(shù)據(jù);同時STM32開發(fā)板LED也閃爍一次,表明接收成功。
程序?qū)懙谋容^簡單,不足之處還請指正,需要的也可以作為參考。

單片機源程序如下:
  1. //RX----PA9
  2. //TX----PA10
  3. //LED---PB5
  4. //協(xié)議最后兩位必須加上0x0d 0x0a 參考正點原子例程
  5. #include "led.h"
  6. #include "delay.h"
  7. #include "key.h"
  8. #include "sys.h"
  9. #include "usart.h"

  10. int main(void)
  11. {               
  12.         u16 t;  
  13.         u16 len;       

  14.         delay_init();                     //延時函數(shù)初始化          
  15.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //設(shè)置NVIC中斷分組2:2位搶占優(yōu)先級,2位響應(yīng)優(yōu)先級
  16.         uart_init(9600);         //串口初始化為115200
  17.         LED_Init();                             //LED端口初始化
  18.         while(1)
  19.         {
  20.                 if(USART_RX_STA&0x8000)
  21.                 {                                                          
  22.                         len=USART_RX_STA&0x3fff;//得到此次接收到的數(shù)據(jù)長度
  23.                        
  24.                         for(t=0;t<len;t++)
  25.                         {
  26.                                 USART_SendData(USART1, USART_RX_BUF[t]);//向串口1發(fā)送數(shù)據(jù)
  27.                                 while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//等待發(fā)送結(jié)束
  28.                         }
  29.                         printf("\r\n");//插入換行
  30.                        
  31.                         USART_RX_STA=0;
  32.                        
  33.                         LED0=0;
  34.                         delay_ms(200);
  35.                         LED0=1;
  36.                         delay_ms(200);
  37.                 }
  38.   }         
  39. }
復(fù)制代碼

所有資料51hei提供下載:
收發(fā)測試.7z (309.33 KB, 下載次數(shù): 22)







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