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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

STM32f1的Usart的應(yīng)用

[復(fù)制鏈接]
ID:113276 發(fā)表于 2016-4-10 14:35 | 顯示全部樓層 |閱讀模式
測試背景:Device--Stm32f103vet6--Usart1;MDK5說明:在嵌入式方面,串口通信有著不可替代的優(yōu)勢,每當(dāng)我們?nèi)胧忠粔K新型的單片機(jī)時,往往會先學(xué)習(xí)”點(diǎn)燈大法(IO口)“,然后學(xué)習(xí)串口通信,毫不夸張的說,串口相當(dāng)于單片機(jī)的一雙眼睛,通過這雙眼睛,可以監(jiān)視單片機(jī)的運(yùn)行情況,及時發(fā)現(xiàn)問題,加快學(xué)習(xí)的速度。本篇文章以Stm32f103vet6的Usart1為例來舉例說明如何利用串口中斷與上位機(jī)進(jìn)行簡單通信,以為筆記。(后附程序)
主要有以下幾個步驟:
1、系統(tǒng)時鐘的配置:本文系統(tǒng)時鐘設(shè)置為72M,并開啟Usart1的時鐘;
2、IO口的配置:PA9h和PA10;
3、Usart的配置:本文波特率115200;
4、中斷優(yōu)先級的設(shè)置。
下為程序代碼:

//主函數(shù)文件
#include"stm32f10x_lib.h"

voidRCC_Configuration(void);
voidGPIO_Configuration(void);
voidUSART_Configuration(void);
voidNVIC_Configuration(void);

int main(void)
{
  
   RCC_Configuration();
  
   GPIO_Configuration();
  
   USART_Configuration();
  
NVIC_Configuration();
   while(1)
   {
      
   }
}

voidRCC_Configuration(void)
{
  
   ErrorStatus HSEStartUpStatus;
   
  
   RCC_DeInit();
  
   RCC_HSEConfig(RCC_HSE_ON);
  
   HSEStartUpStatus = RCC_WaitForHSEStartUp();
  
   if(HSEStartUpStatus == SUCCESS)
   {
   
   RCC_HCLKConfig(RCC_SYSCLK_Div1);
   
   RCC_PCLK2Config(RCC_HCLK_Div1);
   
   RCC_PCLK1Config(RCC_HCLK_Div2);
   
   FLASH_SetLatency(FLASH_Latency_2);
   
   FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
   
   RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9);
   
   RCC_PLLCmd(ENABLE);
   
   while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) ==RESET);
   
   RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
   
   while(RCC_GetSYSCLKSource() != 0x08);
   }   
  
   RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1| RCC_APB2Periph_GPIOA, ENABLE);
}


voidGPIO_Configuration(void)
{
  
   GPIO_InitTypeDef GPIO_InitStructure;
   
  
   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
   GPIO_Init(GPIOA , &GPIO_InitStructure);
   
  
   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
   GPIO_InitStructure.GPIO_Mode =GPIO_Mode_IN_FLOATING;
   GPIO_Init(GPIOA , &GPIO_InitStructure);
}


voidUSART_Configuration(void)
{
  
   USART_InitTypeDef USART_InitStructure;
   
   USART_InitStructure.USART_BaudRate = 115200;
   USART_InitStructure.USART_WordLength =USART_WordLength_8b;
   USART_InitStructure.USART_StopBits =USART_StopBits_1;
   USART_InitStructure.USART_Parity = USART_Parity_No ; //奇偶校驗(yàn)失能
   USART_InitStructure.USART_HardwareFlowControl =USART_HardwareFlowControl_None;
   USART_InitStructure.USART_Mode = USART_Mode_Rx |USART_Mode_Tx;
   USART_Init(USART1 , &USART_InitStructure);
   
//使能USART1接收中斷
USART_ITConfig(USART1, USART_IT_RXNE, ENABLE); //接收中斷使能
  
   USART_Cmd(USART1 , ENABLE);
}

voidNVIC_Configuration(void)
{
NVIC_InitTypeDefNVIC_InitStructure;

  
#ifdef  VECT_TAB_RAM
  
NVIC_SetVectorTable(NVIC_VectTab_RAM ,0x0);
#else
  
NVIC_SetVectorTable(NVIC_VectTab_FLASH , 0x0);  
#endif
  
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);
  
  
NVIC_InitStructure.NVIC_IRQChannel =USART1_IRQChannel;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority =0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
}


//中斷函數(shù)
voidUSART1_IRQHandler(void)
{

//接收中斷(接收寄存器非空)
if(USART1->SR & (1<<5))
{
USART_SendData(USART1 ,USART_ReceiveData(USART1));  //發(fā)送數(shù)據(jù)
}
}








回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美日日| 国产三级国产精品 | 亚洲激情综合 | 亚洲精品片 | 秋霞av国产精品一区 | 欧美日韩美女 | www.黄色网| 秋霞电影一区二区三区 | 一区二区久久精品 | 在线观看成年人视频 | 一二三四在线视频观看社区 | 国产激情在线 | 国产在线视频一区二区董小宛性色 | 午夜在线小视频 | 国产欧美一区二区精品久导航 | 激情久久av一区av二区av三区 | 一区二区三区国产 | 日韩精品极品视频在线观看免费 | 久久精品欧美一区二区三区不卡 | 中文字幕成人av | 国产精品久久 | 欧美人成在线视频 | 国产精品毛片无码 | 亚洲人成免费 | 日日日干干干 | 亚洲美女一区 | 欧美一区二区免费视频 | 嫩草网| 视频一区二区三区四区五区 | 91在线区 | 天堂中文字幕av | 天天干天天玩天天操 | 久久国产精品视频 | 人人干免费 | 九九久久国产 | 亚洲精选一区 | www.久久.com | 老外黄色一级片 | 超碰最新在线 | 国产精品免费小视频 | 成人在线播放网址 |