亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

標(biāo)題: STM32串口通信簡單例子(注釋完整詳細(xì)) [打印本頁]

作者: flamer    時間: 2018-7-5 17:32
標(biāo)題: STM32串口通信簡單例子(注釋完整詳細(xì))
STM32基本的串口通信調(diào)試實驗,實驗現(xiàn)象:發(fā)送內(nèi)容在串口調(diào)試助手上顯示。


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




  2. void My_USART1_Init(void)
  3. {
  4.         GPIO_InitTypeDef GPIO_InitStrue;//定義IO接口結(jié)構(gòu)體
  5.         USART_InitTypeDef USART_InitStrue;//定義串口相關(guān)結(jié)構(gòu)體
  6.         NVIC_InitTypeDef NVIC_InitStrue;//定義中斷相關(guān)結(jié)構(gòu)體
  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;//推挽復(fù)用輸出
  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;//串口波特率設(shè)置
  22.         USART_InitStrue.USART_HardwareFlowControl=USART_HardwareFlowControl_None;//無硬件流
  23.         USART_InitStrue.USART_Mode=USART_Mode_Tx|USART_Mode_Rx;//發(fā)送,接收使能
  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;//設(shè)定搶占優(yōu)先級為1
  34.         NVIC_InitStrue.NVIC_IRQChannelSubPriority=1;//設(shè)定子優(yōu)先級為1
  35.         NVIC_Init(&NVIC_InitStrue);//中斷初始化
  36. }

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

  47. int main(void)
  48. {        
  49.   NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設(shè)定優(yōu)先級分組為2,2位搶占2位響應(yīng)
  50.         My_USART1_Init();//調(diào)用串口函數(shù)
  51.          while(1);//無數(shù)據(jù)時死循環(huán),有數(shù)據(jù)時進(jìn)中斷收數(shù)據(jù)發(fā)數(shù)據(jù)完了再讀主程序
  52.          
  53. }
復(fù)制代碼

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



作者: 917106794    時間: 2018-12-14 08:47
頂支持威武
作者: haleyoung    時間: 2019-1-5 15:34
用哪個串口調(diào)試助手???怎么用?
作者: smartpilot    時間: 2019-4-22 17:48
頂支持威武
作者: walkyman    時間: 2019-12-10 22:34
收藏先,慢慢研究。謝樓主!
作者: 軒邈    時間: 2020-5-18 16:59
感謝分享,很有幫助




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