找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

stm32串口的使用(接收與發(fā)送)程序

[復(fù)制鏈接]
ID:211307 發(fā)表于 2017-6-14 21:01 | 顯示全部樓層 |閱讀模式
QQ截圖20170614205919.png
實驗?zāi)康?
    學(xué)習(xí)串口的使用(接收與發(fā)送)
   
硬件資源:
    1,DS0(連接在PB5)  
    2,串口1(波特率:115200,PA9/PA10連接在板載USB轉(zhuǎn)串口芯片CH340上面)
   
實驗現(xiàn)象:
    本實驗,STM32通過串口1和上位機(jī)對話,STM32在收到上位機(jī)發(fā)過來的字符串(以回車換
    行結(jié)束)后,    原原本本的返回給上位機(jī)。下載后,DS0閃爍,提示程序在運行,同時每
    隔一定時間,通過串口1輸出一段信息到電腦。
   
注意事項:
    1,電腦端串口調(diào)試助手波特率必須是115200.
    2,請使用XCOM/SSCOM串口調(diào)試助手,其他串口助手可能控制DTR/RTS導(dǎo)致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)


回復(fù)

使用道具 舉報

ID:377576 發(fā)表于 2018-7-23 10:02 | 顯示全部樓層
謝謝。。。。。。。。。。。
回復(fù)

使用道具 舉報

ID:345500 發(fā)表于 2018-7-23 10:50 | 顯示全部樓層
很不錯,謝謝分享
回復(fù)

使用道具 舉報

ID:381979 發(fā)表于 2018-10-16 11:07 | 顯示全部樓層
謝謝分享
回復(fù)

使用道具 舉報

ID:284952 發(fā)表于 2019-3-11 10:11 | 顯示全部樓層
謝謝樓主分享
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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