找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3291|回復: 0
打印 上一主題 下一主題
收起左側

STM32和STM8之間串口通信簡單測試程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:370779 發(fā)表于 2019-9-25 22:04 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
最近在學習正點原子串口實驗,正好手邊有塊STM8的開發(fā)板,于是想弄一個STM32和STM8之間串口通信的小程序。
發(fā)送采用STM8S208MB單片機,參考程序是思修電子的串口實驗;接收采用STM32F103ZET6單片機,參考程序是正點原子的串口實驗。
該程序實現的最簡單的收發(fā)測試,通過按下STM8開發(fā)板復位鍵,LED閃爍一次,發(fā)送數據;同時STM32開發(fā)板LED也閃爍一次,表明接收成功。
程序寫的比較簡單,不足之處還請指正,需要的也可以作為參考。

單片機源程序如下:
  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();                     //延時函數初始化          
  15.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //設置NVIC中斷分組2:2位搶占優(yōu)先級,2位響應優(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;//得到此次接收到的數據長度
  23.                        
  24.                         for(t=0;t<len;t++)
  25.                         {
  26.                                 USART_SendData(USART1, USART_RX_BUF[t]);//向串口1發(fā)送數據
  27.                                 while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//等待發(fā)送結束
  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. }
復制代碼

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


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表