(一)简介
串口是指外设和处理器之间通过数据信号线、地线和控制线等,按位进行传输数据的一种通讯方式。尽管传输速度比并行传输低。但串口可以在使用一根线发送数据的同时用另一根线接收数据。这种通信方式使用的数据线少,在远距离通信中可以节约通信成本。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验位,这些参数在两个通信端口之间必须一致。

由于是应用篇,所以串口通信的实现这里不讲,主要是教会大家,串口通信有什么用,怎么用

(二)讲解
我们先找到串口的引脚
通过查看手册,或者查看代码,可以发现PA9为板子的TX(发送端),PA10为板子的RX(接收端)
image.png
image.png

我们还需要买一个USB转TTL模块,可以用与电脑和单片机进行串口通信
d03b1dd702137ad264811a272f1656c.jpg

有了串口模块后,还需要在电脑上安装一个串口调试工具,我这里推荐用微软应用商店里面的,界面简洁明了,而且免费
image.png

我们将USB转TTL工具和单片机的串口连接起来

RX----TX
TX----RX
GND----GND
注意工具的端口和单片机的端口是交叉的

然后我们将串口库,导入到system文件夹内,当然也可以直接导入到工程模板内
image.png

调用串口库
#include "Serial.h"
复制代码

初始化串口
Serial_Init();                //串口初始化
复制代码


(三)串口接收
当串口接收到信息时,串口的标志位会为1,然后可以通过Serial_GetRxData函数获取串口的内容
我们这里的代码,可以获取信息,然后将获取到的信息,再发送给电脑串口
  if (Serial_GetRxFlag() == 1)                        //检查串口接收数据的标志位
  •                 {
  •                         RxData = Serial_GetRxData();                //获取串口接收的数据
  •                         Serial_SendByte(RxData);                        //串口将收到的数据回传回去,用于测试
  •                 }
  • 复制代码

    我们打开软件,串口选择电脑连接的,一般显示CH340的就是
    image.png

    波特率选择9600,要和单片机的波特率一致,单片机的波特率默认9600,也可以在库里面改
    然后打开串口
    image.png

    此时,我们发送一个"您好",串口就会返回一个"您好"
    image.png


    (四)串口发送
    ①Serial_Printf
    格式化数据,并且以文本形式发送到串口,如整数、浮点数、字符串等
      Serial_Printf("您好");
    复制代码

    ②Serial_SendString
    发送一个字符串文本
      Serial_SendString("三十三");
    复制代码

    ③Serial_SendNumber
    发送一个数字,有两部分组成,前部分是数字,后部分是数字的位数
      Serial_SendNumber(666,3);
    复制代码

    ④Serial_SendByte
    发送字节数据
    uint8_t A = 65; // ASCII 码为 'A'
  •                 Serial_SendByte(A);
  • 复制代码

    image.png