STM32——USART串口通信与串口重定向

简介

UART: 通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称 作 UART。它将要传输的资料在串行通信与并行通信之间加以转换。作为把并行输入信 号转成串行输出信号的芯片,UART 通常被集成于其他通讯接口的连结上。 USART:(Universal Synchronous/Asynchronous Receiver/Transmitter) 通用同步/异步串 行接收/发送器,USART 是一个全双工通用同步/异步串行收发模块,该接口是一个高度灵 活的串行通信设备

使用

在这里插入图片描述
BaudRate: 波特率, 波特率表示每秒钟传送的码元符号的个数,是衡量数据传送速率 的指标,它用单位时间内载波调制状态改变的次数来表示。对于串口最重要的就是波特 率, 常用的波特率为 115200 与 9600。
WrodLength: 数据长
Parity: 奇偶校验 -> 无、奇校验、偶校验
Stop: 停止位
以上的配置与需要通信双方完全配对
在这里插入图片描述

//发送数据
HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout); 
//接收数据 
HAL_StatusTypeDef HAL_UART_Receive(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout); 
//发送中断 
HAL_StatusTypeDef HAL_UART_Transmit_IT(UART_HandleTypeDef *huart, uint8_t * pData, uint16_t Size); 
//接收中断
HAL_StatusTypeDef HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData , uint16_t Size); 
//使用DMA发送
HAL_StatusTypeDef HAL_UART_Transmit_DMA(UART_HandleTypeDef *huart, uint8_t * pData, uint16_t Size); 
//使用DMA接收
HAL_StatusTypeDef HAL_UART_Receive_DMA(UART_HandleTypeDef *huart, uint8_t * pData, uint16_t Size); 
//DMA暂停 
HAL_StatusTypeDef HAL_UART_DMAPause(UART_HandleTypeDef *huart); 
//DMA恢复 
HAL_StatusTypeDef HAL_UART_DMAResume(UART_HandleTypeDef *huart); 
//DMA停止 
HAL_StatusTypeDef HAL_UART_DMAStop(UART_HandleTypeDef *huart);

串口重定向

可以使用printf 函数来将数据输出到PC端。

#include "stdio.h"
UART_HandleTypeDef huart1;
int fputc(int ch, FILE *f)
{
	HAL_UART_Transmit(&huart1 , (uint8_t *)&ch, 1, 10);
	return ch;
}

MDK5 开发时若出现printf无法使用 在魔术棒里点击使用微库即可。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值