第十五届蓝桥杯单片机组——串口通信UART

一、什么是串口通信

  微控制器与外部设备的数据通信,根据连线结构和传送方式的不同,可以分为两种:并行通信串行通信
  并行通信:指数据的各位同时发送或接收,每个数据位使用一条导线。
  串行通信:指数据一位接一位地顺序发送或接收。
  串行通信有SPI、IIC、 UART等多种,最常见最通用的是指UART,大多数情况下,串口通信指的就是UART,我们这里所讲的也是UART。
  串行通信的制式有:单工、半双工、全双工三种。
  串行通信的主要方式有两种:同步和异步。
  同步串行通信:需要使用同一个时钟,以数据块为单位传送数据。
  异步串行通信:每个设备都有自己的时钟信号,通信中双方的波特率要保持一致,以字符为单位进行数据帧传送,一次传送一个帧。

二、UART重要参数

1.波特率:它表示的是数据传输的速率,单位是波特/秒。例如,9600波特率表示每秒可以传输9600比特的数据。
2.数据位:这个参数定义了实际的信息位数,常见的有5, 6, 7, 8位。大多数情况下,我们都是使用8位数据位。
3.停止位:停止位用来标志数据帧的结束,常见的有1和2位。大多数情况下,我们使用1位作为停止位。
4.校验位:校验位主要用来对数据进行错误检测。有些UART协议需要使用它,有些则不需要。校验位可以是无校验、奇校验或偶校验。

在51中我们重点就了解一下波特率和数据位就好了。

三、利用STC-ISP生成初始化代码

1、开发板晶振一定要设置正确,板子上的晶振频率为12Mhz。
2、波特率设置成9600,比赛中大概率也是用这个。
3、数据位长度设置位8bit
4、由于定时器1用作串口的波特率发生器,所以不能在使用定时器1做其他事情!!
在这里插入图片描述

四、使用UART发送和接收数据

未完待续…

相关推荐

  1. C/C++B省赛补题

    2024-01-20 12:06:01       33 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-20 12:06:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-20 12:06:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-20 12:06:01       82 阅读
  4. Python语言-面向对象

    2024-01-20 12:06:01       91 阅读

热门阅读

  1. Curl- go的自带包 net/http实现

    2024-01-20 12:06:01       59 阅读
  2. mysql 5.7 函数汇总

    2024-01-20 12:06:01       62 阅读
  3. ZAB算法

    2024-01-20 12:06:01       51 阅读
  4. C++从零开始的打怪升级之路(day13)

    2024-01-20 12:06:01       59 阅读
  5. 从0开始python学习-51.pytest之接口加密封装

    2024-01-20 12:06:01       49 阅读
  6. 力扣labuladong——一刷day96

    2024-01-20 12:06:01       57 阅读
  7. Linux下修改文件名的三种方法

    2024-01-20 12:06:01       62 阅读
  8. 查看服务器资源使用情况

    2024-01-20 12:06:01       54 阅读