正点原子STM32F103(精英版)------串口通信

一、串口相关寄存器

1、USART_SR状态寄存器

 FlagStatus USART_GetFlagStatus(USART_TypeDef* USARTx, uint16_t USART_FLAG);

2、USART_DR数据寄存器

void USART_SendData(USART_TypeDef* USARTx, uint16_t Data);

uint16_t USART_ReceiveData(USART_TypeDef* USARTx);

3、USART_BRR波特率寄存器

 void USART_Init(USART_TypeDef* USARTx, USART_InitTypeDef* USART_InitStruct);

波特率计算方法

 

二、串口操作相关库函数

void USART_Init();  //串口初始化:波特率,数据字长,奇偶校验,硬件流控以及收发

void USART_Cmd(); //使能串口

void USART_ITConfig(); //使能相关中断

void USART_SendData(); //发送数据到串口,DR

unit16_t USART_ReceiveData(); //接受数据,从DR读取接受到的数据

FlagStatus USART_GetFlagStatus(); //获取标志状态位

void USART_ClearFlag(); //清除状态标志位

ITStatus USART_GetITStatus(); //获取中断状态标志位

void USART_ClearITPendingBit();  //清除中断状态标志位

三、串口配置的一般步骤(PA9,PA10)

① 串口时钟使能,GPIO时钟使能:RCC_APB2PeriphClockCmd();

② 串口复位:USART_DeInit(); 这一步不是必须的

③GPIO端口模式设置:GPIO_Init(); 模式设置为GPIO_Mode_AF_PP

GPIO设置参考中文手册8.1.11

④串口参数初始化:USART_Init();

⑤开启中断并且初始化NVIC(如果需要开启中断才需要这个步骤)NVIC_Init(); USART_ITConfig();

⑥使能串口:USART_Cmd();

⑦编写中断处理函数:USARTx_IRQHandler();

⑧串口数据收发:

    void USART_SendDtata(); //发送数据到串口,DR

     unit16_t USART_ReceiveData(); //接受数据,从DR读取接受到的数据

⑨串口传输状态获取:

      FlagStatus USART_GetFlagStatus(USART_TypeDef* USARTx,unit16_t USART_FLAG);

       void USART_ClearITPendingBit(USART_TypeDef* USARTx,unit16_t USART_IT);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值