找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2350|回復(fù): 0
收起左側(cè)

STM32串口1測(cè)試源程序

[復(fù)制鏈接]
ID:320587 發(fā)表于 2018-5-2 16:59 | 顯示全部樓層 |閱讀模式
RT 此程序可以用來檢測(cè)STM32的串口 也可以自行編寫收發(fā)數(shù)據(jù)

單片機(jī)源程序如下:
  1. #include "struct.h"
  2. #include "delay.h"
  3. #include "sys.h"
  4. #include "usart.h"
  5. #include "stdlib.h"

  6. u16 crc_sumer;
  7. u8 i, j;
  8. extern u8 RecvBuff[MAX], SendBuff[MAX];//接收數(shù)據(jù)緩沖區(qū)
  9. extern u8 RecvLen, SendLen;//當(dāng)前數(shù)據(jù)長(zhǎng)度
  10. extern u8 RecvStatus, SendStatus;//數(shù)據(jù)狀態(tài)標(biāo)志   
  11. //unsigned char * p = RecvBuff;

  12. void DataProcess(void);

  13. int main(void)
  14. {               
  15.         //delay_init();                     //延時(shí)函數(shù)初始化          
  16.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //設(shè)置NVIC中斷分組2:2位搶占優(yōu)先級(jí),2位響應(yīng)優(yōu)先級(jí)
  17.         uart_init(115200);         //串口初始化為115200
  18.        
  19.         while(1)
  20.         {
  21.                  
  22.                 if(5 == RecvStatus) //接收一包數(shù)據(jù)完成
  23.     {
  24.            DataProcess();
  25.     }
  26.         }
  27. }


  28. void DataProcess(void)
  29. {
  30.                 CRCSUB((char *)RecvBuff + 2, (RecvLen - 3));
  31.     if(crc_sumer==0)
  32.     {
  33.                         //對(duì)接受的數(shù)據(jù)進(jìn)行處理
  34.                         UART1_sendnstr(RecvBuff, (RecvLen + 1));
  35.           }                 
  36.                 else
  37.     {
  38.       UART1_sendnstr("error",5);
  39.     }
  40.                 RecvLen  =0;
  41.                 RecvStatus=0;
  42.                  
  43. }

復(fù)制代碼

所有資料51hei提供下載:
【串口1測(cè)試程序】.rar (275.52 KB, 下載次數(shù): 16)


回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表