stm32-8串口通信

stm32-8串口通信



一 串口通信相关
1. 知识点
  • stm32串口功能
    • 支持同步单向通信和半双工单线通信,也支持LIN(局部互连网),智能卡协议和IrDA(红外数据组织)SIR ENDEC规范,以及调制解调器(CTS/RTS)操作。它还允许多处理器通信。使用多缓冲器配置的DMA方式,可以实现高速数据通信。
  • 设置参数
    • 字长
    • 波特率
    • 奇偶校验位
    • 停止位
  • 直通线和交叉线
    • 实现全双工串口通信,交叉线
    • 引出用杜邦线连接
2. 串口工作过程
  • 波特率控制
    • 波特率:每秒传输的二进制位数
    • USART_BRR
  • 收发控制
    • USART_CR1-3
    • USART_SR
  • 数据存储转移
    • 内核或DMA将数据从内存(变量)写入发送数据寄存器TDR,发送控制器会适时的把数据从发送数据寄存器 TDR加载到发送移位寄存器,然后通过串口线Tx一位位发送

二、分析程序

1. main函数中调用了USART1的配置函数
/* USART1 config 115200 8-N-1 */
        USART1_Config();

2. 函数USART1_Config()主要完成了以下功能:
  1. 使能USART1的时钟
  2. 配置USART1的IO
  3. 配置USART1的工作模式:115200-8-n-1

以下是跟踪到bsp_usart1.c中的函数定义

/**
  * @brief  USART1 GPIO 
  * @param
  * @retval
  */
void USART1_Config(void)
{
    GPIO_InitTypeDef GPIO_InitStructure;
    USART_InitTypeDef USART_InitStructure;

    /* config USART1 clock */
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_GPIOA, ENABLE);
    
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值