STM32F1 - 串口通信UART


1> UART硬件框图

1


2> 通信协议

1

位段 内容
空闲位 TX保持高电平
起始位 TX由高变低,保持=1bit位宽
数据为 5~8位ASCII的编码数据
校验位 校验方式:奇校验 / 偶校验
停止位 TX由低变高,保持>=0.5bit位宽

常用配置:115200, 8N1

波特率为115200,
数据位:8位;
奇偶校验:无;
停止位:1位;


3> 硬件设计

1

PA9:USART1_TX;
PA10: USART1_RX


4> 发送1Byte数据_轮询方式

bsp_uart.c:

#include "bsp_uart.h"


// USART1_TX - PA9
// USART1_RX - PA10
	
void USART1_Init(void) 
{
   
	
/* configures GPIO ports */ 
	GPIO_InitTypeDef GPIO_InitStruct;
	USART_InitTypeDef USART_InitStruct;
	
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA |RCC_APB2Periph_AFIO | RCC_APB2Periph_USART1, ENABLE);
	
/* USART1_TX PA9 */
	GPIO_InitStruct.GPIO_Pin = GPIO_Pin_9;
	GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF_PP;
	GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz ;
	
	GPIO_Init(GPIOA, &GPIO_InitStruct);
	
/* USART1_RX PA10 */	
	GPIO_InitStruct.GPIO_Pin = GPIO_Pin_10;
	GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IPU; 
	
	GPIO_Init(GPIOA
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值