admin管理员组

文章数量:1558979

写在开始:因为这是我的第一次博客,对有些规则还不是很了解。如果文章内容有错误或是对其他博主造成影响,希望大家能多包涵并指出错误所在。欢迎大家,留言讨论。

***文章主要参考出自正点原子F103战舰的例程。

串口通信的简介就不过于介绍,直接进入代码的实现:
串口通信函数初始化:
串口设置的一般步骤可以总结为如下几个步骤:

  1. 串口时钟使能, GPIO 时钟使能
  2. 串口复位
  3. GPIO 端口模式设置
  4. 串口参数初始化
  5. 开启中断并且初始化 NVIC(如果需要开启中断才需要这个步骤)
  6. 使能串口
  7. 编写中断处理函数
void usart3_init(u32 bound)          //串口初始化函数
{
     

	 GPIO_InitTypeDef GPIO_InitStructure;
	 USART_InitTypeDef USART_InitStructure;
	 NVIC_InitTypeDef NVIC_InitStructure;
// 串口时钟使能    
	 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); // GPIOB时钟
         RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3,ENABLE); //串口3时钟使能
//串口复位
         USART_DeInit(USART3);  //复位串口3
//USART3_TX    GPIOB10
	  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;    //PB10
	  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //复用推挽输出
	  GPIO_Init(GPIOB, &GPIO_InitStructure);//初始化GPIOB
 //USART3_RX   GPIOB11
	  GPIO_InitStructure

本文标签: 串口助手通信