標題: stm32串口的使用(接收與發(fā)送)程序 [打印本頁]

      作者: mastergz    時間: 2017-6-14 21:01
      標題: stm32串口的使用(接收與發(fā)送)程序

      實驗?zāi)康?
          學習串口的使用(接收與發(fā)送)
         
      硬件資源:
          1,DS0(連接在PB5)  
          2,串口1(波特率:115200,PA9/PA10連接在板載USB轉(zhuǎn)串口芯片CH340上面)
         
      實驗現(xiàn)象:
          本實驗,STM32通過串口1和上位機對話,STM32在收到上位機發(fā)過來的字符串(以回車換
          行結(jié)束)后,    原原本本的返回給上位機。下載后,DS0閃爍,提示程序在運行,同時每
          隔一定時間,通過串口1輸出一段信息到電腦。
         
      注意事項:
          1,電腦端串口調(diào)試助手波特率必須是115200.
          2,請使用XCOM/SSCOM串口調(diào)試助手,其他串口助手可能控制DTR/RTS導致MCU復(fù)位/程序不運行
          3,串口輸入字符串以回車換行結(jié)束.
          4,請用USB線連接在USB_232,找到USB轉(zhuǎn)串口后測試本例程.
          5,P4的PA9/PA10必須通過跳線帽連接在RXD/TXD上.
      1. #include "led.h"
      2. #include "delay.h"
      3. #include "key.h"
      4. #include "sys.h"
      5. #include "usart.h"


      6. /************************************************
      7. ALIENTEK戰(zhàn)艦STM32開發(fā)板實驗4
      8. 串口實驗
      9. 作者:正點原子 @ALIENTEK
      10. ************************************************/


      11. int main(void)
      12. {               
      13.          u16 t;  
      14.         u16 len;        
      15.         u16 times=0;
      16.         delay_init();                     //延時函數(shù)初始化         
      17.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //設(shè)置NVIC中斷分組2:2位搶占優(yōu)先級,2位響應(yīng)優(yōu)先級
      18.         uart_init(115200);         //串口初始化為115200
      19.          LED_Init();                             //LED端口初始化
      20.         KEY_Init();          //初始化與按鍵連接的硬件接口
      21.          while(1)
      22.         {
      23.                 if(USART_RX_STA&0x8000)
      24.                 {                                          
      25.                         len=USART_RX_STA&0x3fff;//得到此次接收到的數(shù)據(jù)長度
      26.                         printf("\r\n您發(fā)送的消息為:\r\n\r\n");
      27.                         for(t=0;t<len;t++)
      28.                         {
      29.                                 USART_SendData(USART1, USART_RX_BUF[t]);//向串口1發(fā)送數(shù)據(jù)
      30.                                 while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//等待發(fā)送結(jié)束
      31.                         }
      32.                         printf("\r\n\r\n");//插入換行
      33.                         USART_RX_STA=0;
      34.                 }else
      35.                 {
      36.                         times++;
      37.                         if(times%5000==0)
      38.                         {
      39.                                 printf("\r\n戰(zhàn)艦STM32開發(fā)板 串口實驗\r\n");
      40.                                 printf("正點原子@ALIENTEK\r\n\r\n");
      41. ……………………

      42. …………限于本文篇幅 余下代碼請從51黑下載附件…………
      復(fù)制代碼

      下載:
      微信開鎖.rar (1.99 MB, 下載次數(shù): 193)



      作者: 小灰灰qq    時間: 2018-7-23 10:02
      謝謝。。。。。。。。。。。
      作者: liucheng1973    時間: 2018-7-23 10:50
      很不錯,謝謝分享
      作者: 張小賤    時間: 2018-10-16 11:07
      謝謝分享
      作者: zyyjjww    時間: 2019-3-11 10:11
      謝謝樓主分享





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