久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 13061|回復: 5
收起左側

STM32串口通信簡單例子(注釋完整詳細)

  [復制鏈接]
ID:365414 發表于 2018-7-5 17:32 | 顯示全部樓層 |閱讀模式
STM32基本的串口通信調試實驗,實驗現象:發送內容在串口調試助手上顯示。


單片機源程序如下:
  1. #include "stm32f10x.h"




  2. void My_USART1_Init(void)
  3. {
  4.         GPIO_InitTypeDef GPIO_InitStrue;//定義IO接口結構體
  5.         USART_InitTypeDef USART_InitStrue;//定義串口相關結構體
  6.         NVIC_InitTypeDef NVIC_InitStrue;//定義中斷相關結構體
  7.         
  8.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//初始化GPIOA時鐘
  9.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);//初始化串口USART時鐘
  10.         
  11.         GPIO_InitStrue.GPIO_Mode=GPIO_Mode_AF_PP;//推挽復用輸出
  12.         GPIO_InitStrue.GPIO_Pin=GPIO_Pin_9;//開啟9號IO口
  13.         GPIO_InitStrue.GPIO_Speed=GPIO_Speed_10MHz;//端口速度10MHz
  14.   GPIO_Init(GPIOA,&GPIO_InitStrue);//GPIOA9初始化
  15.         
  16.         GPIO_InitStrue.GPIO_Mode=GPIO_Mode_IN_FLOATING;//浮空輸入
  17.         GPIO_InitStrue.GPIO_Pin=GPIO_Pin_10;//開啟10號IO口
  18.         GPIO_InitStrue.GPIO_Speed=GPIO_Speed_10MHz;//端口速度10MHz
  19.   GPIO_Init(GPIOA,&GPIO_InitStrue);//GPIO10初始化
  20.         
  21.         USART_InitStrue.USART_BaudRate=115200;//串口波特率設置
  22.         USART_InitStrue.USART_HardwareFlowControl=USART_HardwareFlowControl_None;//無硬件流
  23.         USART_InitStrue.USART_Mode=USART_Mode_Tx|USART_Mode_Rx;//發送,接收使能
  24.         USART_InitStrue.USART_Parity=USART_Parity_No;//無奇偶校驗
  25.         USART_InitStrue.USART_StopBits=USART_StopBits_1;//停止位為1
  26.         USART_InitStrue.USART_WordLength=USART_WordLength_8b;//字長8位
  27.         USART_Init(USART1,&USART_InitStrue);//USART1初始化
  28.         USART_Cmd(USART1,ENABLE);//使能串口1
  29.         
  30.         USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);//中斷配置:開啟接收中斷(接受緩存器非空使能,ENABLE)
  31.         NVIC_InitStrue.NVIC_IRQChannel=USART1_IRQn;//定義中斷通道
  32.         NVIC_InitStrue.NVIC_IRQChannelCmd=ENABLE;//開啟中斷通道
  33.         NVIC_InitStrue.NVIC_IRQChannelPreemptionPriority=1;//設定搶占優先級為1
  34.         NVIC_InitStrue.NVIC_IRQChannelSubPriority=1;//設定子優先級為1
  35.         NVIC_Init(&NVIC_InitStrue);//中斷初始化
  36. }

  37. void USART1_IRQHandler(void)//編寫中斷處理函數
  38. {
  39.         u8 res;//無符號字符res
  40.         
  41.          if(USART_GetITStatus(USART1,USART_IT_RXNE))//接收數據進入中斷,判斷串口1接收緩存器非空使能為1與否
  42. {
  43.      res= USART_ReceiveData(USART1); //為1,則將串口1的數據給變量
  44.      USART_SendData(USART1,res);   //繼續將此數據從USART1發送出去
  45.   }
  46. }

  47. int main(void)
  48. {        
  49.   NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設定優先級分組為2,2位搶占2位響應
  50.         My_USART1_Init();//調用串口函數
  51.          while(1);//無數據時死循環,有數據時進中斷收數據發數據完了再讀主程序
  52.          
  53. }
復制代碼

所有資料51hei提供下載:
串口通信.rar (286.91 KB, 下載次數: 277)


評分

參與人數 1黑幣 +5 收起 理由
菜用雞 + 5 很給力!

查看全部評分

回復

使用道具 舉報

ID:94642 發表于 2018-12-14 08:47 | 顯示全部樓層
頂支持威武
回復

使用道具 舉報

ID:360992 發表于 2019-1-5 15:34 | 顯示全部樓層
用哪個串口調試助手???怎么用?
回復

使用道具 舉報

ID:284155 發表于 2019-4-22 17:48 | 顯示全部樓層
頂支持威武
回復

使用道具 舉報

5#
無效樓層,該帖已經被刪除
ID:556118 發表于 2019-12-10 22:34 | 顯示全部樓層
收藏先,慢慢研究。謝樓主!
回復

使用道具 舉報

ID:748904 發表于 2020-5-18 16:59 | 顯示全部樓層
感謝分享,很有幫助
回復

使用道具 舉報

8#
無效樓層,該帖已經被刪除
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 免费a级毛片在线播放 | 国产一级片免费在线观看 | 国产999精品久久久久久 | 爱爱视频在线观看 | 中文字幕第二十页 | 91高清在线观看 | 久久一级 | 欧美福利视频 | 国产成人精品久久二区二区91 | 国产精品毛片久久久久久 | 在线观看av网站永久 | 日韩综合一区 | 一区二区三区在线 | 国产成人网 | 久久精品久久久久久 | 国产一区二区在线91 | 69av网| 密乳av | 亚洲天堂一区 | 久久大陆 | 亚洲欧美日本在线 | 欧美5区| 欧美精品在线免费观看 | 一区二区三区国产精品 | 男人av在线播放 | 亚洲福利 | 国产精品久久久久久久免费观看 | 亚洲精品中文字幕av | av中文字幕在线 | 毛片免费在线 | 欧美日韩国产精品一区 | 久久专区 | 欧美日韩亚 | 精品一区二区三区四区 | 国产免费让你躁在线视频 | 久久99深爱久久99精品 | 久久尤物免费一区二区三区 | 成人a网 | 欧美在线免费 | 特级生活片| 日韩欧美一区二区三区免费看 |