学习笔记:串口通信的设置步骤

USART 相关库函数在 stm32f10x_usart.c 和 stm32f10x_usart.h 文件中

  • 建立usart.h和usart.c文件,添加基本代码和路径
  • 设置USART初始化函数usartx_Init
  • [1 ] 串口时钟使能
  • [2 ] GPIO_InitTypeDef 结构体配置–注意引脚的模式设置
  • [3 ] USART_InitTypeDef 串口结构体配置
  • [4 ]NVIC_InitTypeDef 中断优先级结构体配置
  • 串口中断服务函数USARTx_IRQHandler
  • 主程序初始化usartx_Init()

函数意义:

void USART_Init(USART_TypeDef* USARTx, USART_InitTypeDef*USART_InitStruct);
typedef struct
{
uint32_t USART_BaudRate; //波特率
uint16_t USART_WordLength; //字长
uint16_t USART_StopBits; //停止位
uint16_t USART_Parity; //校验位
uint16_t USART_Mode; //USART 模式
uint16_t USART_HardwareFlowControl; //硬件流控制
} USART_InitTypeDef;

- 串口初始化函数,包括串口选择,结构体配置

   void USART_Cmd(USART_TypeDef* USARTx, FunctionalState NewState);

串口使能函数,包括串口选择、串口中断类型

void USART_ITConfig(USART_TypeDef* USARTx, uint16_t USART_IT, FunctionalState NewState);

对串口中断类型和使能设置的函数,包括串口选择、中断类型(USART_IT_RXNE接收时中断、USART_IT_TC接收完中断)

 NVIC_Init()

中断优先级配置

USART1_IRQHandler

中断服务函数

USART_GetITStatus(USART_TypeDef* USARTx, uint16_t USART_IT)

判断 USARTx 的中断类型 USART_IT 是否产生中断,状态标志函数

uint16_t USART_ReceiveData(USART_TypeDef* USARTx);

串口接收函数

void USART_SendData(USART_TypeDef* USARTx, uint16_t Data);

串口发送函数

void USART_ClearFlag(USART_TypeDef* USARTx, uint16_t USART_FLAG);

清除中断标志位的函数

USART_GetFlagStatus(USART_TypeDef* USARTx, uint16_t USART_FLAG);

直接读取状态标志函数

疑点:

USART_FLAG

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值