zoukankan      html  css  js  c++  java
  • 串口通信

    同步通信:由于有同步时钟信号,可以通过时钟信号解析。

    异步通信:没有时钟信号,必须知道波特率才能解析。

       

    Usart同步异步通信方式

    Uart异步通信方式

       

    RXD数据输入引脚,负责接收数据

    TXD数据发送引脚,负责发送数据

    具体的引脚对应单片机哪个IO口,查芯片手册stm32f103rc.pdf

    串行通信三种传送方式

    串口通信过程

       

     

    串口通信寄存器

    Usart_sr 状态寄存器

    Usart_dr 数据寄存器

    Usart_crX(1~3) 控制寄存器

    具体例程中是通过操作库函数来控制具体的寄存器.

     

    操作串口的步骤

    1. 串口时钟使能,GPIO时钟使能:RCC_APB2PeriphClockCmd();
    2. 串口复位:USART_DeInit(); 这一步不是必须的
    3. GPIO端口模式设置:GPIO_Init(); 模式设置为GPIO_Mode_AF_PP
    4. 串口参数初始化:USART_Init();
    5. 开启中断并且初始化NVIC(如果需要开启中断才需要这个步骤)

    NVIC_Init();

    USART_ITConfig();

    ⑥使能串口:USART_Cmd();

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

    ⑧串口数据收发:

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

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

    ⑨串口传输状态获取:

    FlagStatus USART_GetFlagStatus(USART_TypeDef* USARTx, uint16_t USART_FLAG);

    void USART_ClearITPendingBit(USART_TypeDef* USARTx, uint16_t USART_IT);

    如果不需要使用中断,则配置串口只需1,2,3,4,6步即可。

     

  • 相关阅读:
    快捷定位目录 z武器
    [UOJ317]【NOI2017】游戏 题解
    2-SAT 问题与解法小结
    link-cut-tree 简单介绍
    hihocoder #1456 : Rikka with Lattice(杜教筛)
    杜教筛小结
    BZOJ 2969: 矩形粉刷(期望)
    UVA10294 Arif in Dhaka (群论,Polya定理)
    BZOJ 1926: [Sdoi2010]粟粟的书架(主席树,二分答案)
    BZOJ 2683: 简单题(CDQ分治 + 树状数组)
  • 原文地址:https://www.cnblogs.com/yishuad/p/5752807.html
Copyright © 2011-2022 走看看