找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

分享幾個STM32F103RCT6例程(USART串口實驗)

  [復(fù)制鏈接]
ID:392181 發(fā)表于 2018-8-31 23:54 | 顯示全部樓層 |閱讀模式
包含UART、KEY、LED、USB-Flash、RTC幾個完整工程的例程給新手鋪路
0.jpg

=============================
下載方式
=============================
·SWD JTAG



=============================
程序功能
=============================
·USART串口實驗



=============================
硬件連接
=============================
·將串口調(diào)試板連接到USART1接口上


======================================
軟件設(shè)置
======================================
·并且打開串口助手  選擇好相應(yīng)的COM口   如下設(shè)置
----------------
波特率 | 115200 |
----------------
數(shù)據(jù)位 |   8    |
----------------
停止位 |   1    |
----------------
校驗位 | None   |
----------------
流控制 | None   |
----------------

======================================
實驗現(xiàn)象
======================================
·串口助手輸出相應(yīng)信息

單片機源程序如下:
  1. #include <stm32f10x.h>
  2. #include "usart.h"
  3. //#define CTRT

  4. void  Delay (uint32_t nCount);


  5. #define LED1(x)        x ? GPIO_SetBits(GPIOB,GPIO_Pin_12): GPIO_ResetBits(GPIOB,GPIO_Pin_12)
  6. #define LED2(x)        x ? GPIO_SetBits(GPIOB,GPIO_Pin_13): GPIO_ResetBits(GPIOB,GPIO_Pin_13)
  7. #define LED3(x)        x ? GPIO_SetBits(GPIOB,GPIO_Pin_14): GPIO_ResetBits(GPIOB,GPIO_Pin_14)
  8. #define LED4(x)        x ? GPIO_SetBits(GPIOB,GPIO_Pin_15): GPIO_ResetBits(GPIOB,GPIO_Pin_15)

  9. uint8_t TxBuffer[] = "\n\rUSART Hyperterminal Hardware Flow Control Example: USART - \
  10. Hyperterminal communication using hardware flow control\n\r";

  11. #ifndef CTRT
  12. //配置矢量中斷,矢量的意思就是有順序,有先后的意思。
  13. void NVIC_Configuration(void)
  14. {
  15.   NVIC_InitTypeDef NVIC_InitStructure;        //定義數(shù)據(jù)結(jié)構(gòu)體
  16.   
  17.   NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0000);//將中斷矢量放到Flash的0地址

  18.   NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);//設(shè)置優(yōu)先級配置的模式,詳情請閱讀原材料中的文章

  19.   //使能串口中斷,并設(shè)置優(yōu)先級
  20.   NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;
  21.   NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
  22.   NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
  23.   NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;  
  24.   NVIC_Init(&NVIC_InitStructure);        //將結(jié)構(gòu)體丟到配置函數(shù),即寫入到對應(yīng)寄存器中
  25. }
  26. #endif

  27. int main(void)
  28. {
  29.         u32 i=0xffffff;
  30.         SystemInit();

  31. #ifdef CTRT                  /*使用CTS RTS硬件流模式*/
  32.         USART_CTRT_Configuartion();
  33.         while(NbrOfDataToTransfer--)
  34.           {
  35.                     USART_SendData(USART1, TxBuffer[TxCounter++]);
  36.                     while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET);         
  37.           }
  38.   
  39.           /*Receive a string (Max RxBufferSize bytes) from the Hyperterminal ended by '\r' (Enter key) */
  40.           while(1)
  41.           {         
  42.                     if(USART_GetFlagStatus(USART1, USART_FLAG_RXNE) != RESET)
  43.                     {
  44.                        USART_SendData(USART1,USART_ReceiveData(USART1));
  45.                     }   
  46.           }
  47. #else                /*普通串口模式*/
  48.         usart_Configuration();        
  49.         NVIC_Configuration();
  50.           while(1)
  51.         {
  52.                 printf("Waveshare!\r\n");
  53.                 while(--i);
  54.                 i=0xffffff;
  55.         }
  56. #endif
  57. }

  58. /*******************************************************************************
  59. * Function Name  : Delay
  60. * Description    : Delay Time
  61. * Input          : - nCount: Delay Time
  62. * Output         : None
  63. * Return         : None
  64. * Attention                 : None
  65. *******************************************************************************/
  66. void  Delay (uint32_t nCount)
  67. {
  68.   for(; nCount != 0; nCount--);
  69. }
復(fù)制代碼

所有資料51hei提供下載:

Port103R.rar (1.97 MB, 下載次數(shù): 410)
Port103R.pdf (389.14 KB, 下載次數(shù): 118)


評分

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

查看全部評分

回復(fù)

使用道具 舉報

ID:20672 發(fā)表于 2018-10-3 08:55 | 顯示全部樓層
謝謝分享。。!
回復(fù)

使用道具 舉報

ID:405264 發(fā)表于 2018-10-13 15:12 | 顯示全部樓層
謝謝分享,,,
回復(fù)

使用道具 舉報

ID:409110 發(fā)表于 2018-10-13 17:31 | 顯示全部樓層

謝謝分享。。!
回復(fù)

使用道具 舉報

ID:129184 發(fā)表于 2019-1-2 09:45 | 顯示全部樓層
GOOD GUY
回復(fù)

使用道具 舉報

ID:219315 發(fā)表于 2019-1-7 15:23 | 顯示全部樓層
謝謝分享,,,
回復(fù)

使用道具 舉報

ID:370657 發(fā)表于 2019-1-25 09:37 | 顯示全部樓層
感謝分享
回復(fù)

使用道具 舉報

ID:206350 發(fā)表于 2019-5-27 11:07 | 顯示全部樓層
多謝分享
回復(fù)

使用道具 舉報

ID:588752 發(fā)表于 2019-7-23 15:52 | 顯示全部樓層
謝謝分享!。。
回復(fù)

使用道具 舉報

ID:588752 發(fā)表于 2019-7-23 15:53 | 顯示全部樓層
硬件連接,還不錯
回復(fù)

使用道具 舉報

ID:624671 發(fā)表于 2019-10-15 19:57 | 顯示全部樓層
感謝分享,下載試試
回復(fù)

使用道具 舉報

ID:2700 發(fā)表于 2019-10-21 22:19 | 顯示全部樓層
謝謝分享。。
回復(fù)

使用道具 舉報

ID:617305 發(fā)表于 2019-12-17 10:55 | 顯示全部樓層
感謝分享
回復(fù)

使用道具 舉報

ID:440715 發(fā)表于 2019-12-26 18:43 | 顯示全部樓層
謝謝分享。。。
回復(fù)

使用道具 舉報

ID:334148 發(fā)表于 2020-3-6 21:53 | 顯示全部樓層

謝謝分享。。!
回復(fù)

使用道具 舉報

ID:721090 發(fā)表于 2020-4-2 16:42 | 顯示全部樓層
多謝分享,分兒不夠
回復(fù)

使用道具 舉報

ID:785153 發(fā)表于 2020-6-20 17:19 | 顯示全部樓層
謝謝分享,感謝大佬
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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