找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2606|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

STM32串口通信代碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:168039 發(fā)表于 2017-3-4 09:19 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
//初始化IO 串口3
//bound:波特率
void uart3_init(u32 bound){
   //GPIO端口設(shè)置
   GPIO_InitTypeDef GPIO_InitStructure;
         USART_InitTypeDefUSART_InitStructure;
         NVIC_InitTypeDefNVIC_InitStructure;
         //APB2改為APB1,因?yàn)?/font>USART3是連接到APB1(低速外設(shè))上的設(shè)備
         RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3,ENABLE);         //??USART2,GPIOA??
         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);  //??USART2,GPIOA??    USART_DeInit(USART3);  //復(fù)位串口3
          //USART1_TX   PB.10
   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10; //PB.10
   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;         //復(fù)用推挽輸出
   GPIO_Init(GPIOB, &GPIO_InitStructure); //初始化PB10

   //USART1_RX    PB.11
   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;
   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;//浮空輸入
   GPIO_Init(GPIOB, &GPIO_InitStructure);  //初始化PB11


  //USART 初始化設(shè)置

         USART_InitStructure.USART_BaudRate= bound;//一般設(shè)置為9600;
         USART_InitStructure.USART_WordLength= USART_WordLength_8b;//字長為8位數(shù)據(jù)格式
         USART_InitStructure.USART_StopBits= USART_StopBits_1;//一個停止位
         USART_InitStructure.USART_Parity= USART_Parity_No;//無奇偶校驗(yàn)位
         USART_InitStructure.USART_HardwareFlowControl= USART_HardwareFlowControl_None;//無硬件數(shù)據(jù)流控制
         USART_InitStructure.USART_Mode= USART_Mode_Rx | USART_Mode_Tx;        //收發(fā)模式

   USART_Init(USART3, &USART_InitStructure); //初始化串口
  //Usart3 NVIC 配置
   NVIC_InitStructure.NVIC_IRQChannel = USART3_IRQn;
         NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;//搶占優(yōu)先級3
         NVIC_InitStructure.NVIC_IRQChannelSubPriority= 0;            //子優(yōu)先級3
         NVIC_InitStructure.NVIC_IRQChannelCmd= ENABLE;                    //IRQ通道使能
         NVIC_Init(&NVIC_InitStructure);    //根據(jù)指定的參數(shù)初始化VIC寄存器

   USART_ITConfig(USART3, USART_IT_RXNE, ENABLE);//開啟中斷
   USART_Cmd(USART3, ENABLE);                    //使能串口

}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:168039 發(fā)表于 2017-3-4 09:21 | 只看該作者
大家可以修改一下
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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