0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

USART基础知识点复习

PCB_001_YXF 来源:自豪三王 作者:自豪三王 2022-11-21 11:32 次阅读

本文解答三问题:

1 串口是什么,

2 串口数据从哪里来,

3 串口数据去向何方。

术语:

1formula 对应公式

2parity even奇校验 odd偶校验

3TXE 发送数据寄存器空 (Transmitdataregisterempty)

4TC发送完成 (Transmissioncomplete)

5RXNE读数据寄存器非空readdataregisternotempty

6 abandon 放弃

串口通讯中物理层:

1规定数据传输介质

协议层:

1规定传输的形式,统一双方的数据打包方式,解包标准

电平标准:

1TTL 电平为3.3V 0v

2RS232 +15v到-15v

3 485电平 +2-+6表示1,-2--6表示0

232标准串口主要用于工业设备直接通信

1高低电平标准较高,用于抗干扰,以及抗静电 使用峰峰值 进行抗干扰

2max3232 sp3232 转换芯片上有独立的供电接口

3DB9端口上 大头开始的端口为1脚,对于公头 2/3分别为 R/T 对于母头2/3为T/R

串口校验位

1奇校验 数据1对应的数量不为奇数,校验位,补充一位1

2偶校验 数据1对应的数据量不为偶数,校验位,补充一位1

3无校验 数据位中不包含校验位

串口模式:

对应两种模式,发送模式,以及接收模式 硬件控制流,

异步发送数据,数据发送帧中插入有效的标志位

polarity极性 phase相位

时钟极性:

1 0总线空闲时CK引脚上保持低电平

1总线空闲时CK引脚上保持高电平

2部分串口上不支持时钟极性的配置方式

时钟相位 :

1 0 :在时钟的第一个边沿进行数据采集

2 1:在时钟的第二个边沿进行数据采集

总结:

时钟中极性以及相位:方式保持一致即可,主机需要适配从机上通讯方式

LBCL:最后一位时钟脉冲

1 0最后一位数据的时钟脉冲不从CK输出

2 1最后一位的时钟脉冲会从CK输出

deInit复位寄存器数值

编程之前,需要对库中使用到函数进行查看,否则会导致编程中出现不知道如何使用函数这种问题

串口初始化:

1BSP BoardSupport Package板极支持包 硬件设计相关的代码都被封装在BSP中,代码层次设计,进行抽象 单独设计

2使用条件编译,定义头文件,主要用来防止多个文件中重复对此头文件进行调用,之后对应变量被重复定义使用

3串口模式可以进行设置,可发送可接收,可两者同时操作

4数据发送,调用库中发送单字节的函数进行数据筹备,之后,通过while函数,对数据发送缓冲区是否为空进行判断,非set为真

后期串口上数据处理,都需要进行检查

5定义变量一定要写上变量初始数值,防止变量初始化之后,对应的数值不正确且很难找到问题点

6字符串中进行最后一位数据判断,可以对数据进行提取,之后判定数据是否为 ''判断字符串中对应数据是否发送完成

7printf函数是一个标准的c语言函数 使用此函数需要使用 stdio.h头文件

8printf函数会使用到fputc这个函数,代码中需要对fputc函数进行实现,之后,可正常使用print函数进行数据打印输出

7667c76e-67ef-11ed-8abf-dac502259ad0.png

10 putchar函数也可以正常使用 putchar(‘A’); C语言中标准库对应的操作方式

11进行数据发送,不勾选16进制数据显示的情况下,部分数据不能正常显示

串口号进行切换

1使用宏定义对不同的串口进行区分,开启指定宏定义实现串口中通讯需求

2不同的串口,需要使能的时钟不同

3中断函数名,来自启动文件

4串口数据接收:

1串口接收中断参数配置,开始对抢占优先级进行配置

2后续串口上数据交互,必须对寄存器标志进行判断 发送数据,接收数据标志

3使用getchar函数,单片机上可以接收外部数据

4 C语言中常规数据收发的方式,在单片机中需要进行特殊处理,考虑到实际工控应用,单片机中数据处理需要进行合理的解析

5串口中发送的数据需要区分是字符还是数字

6串口参数进行配置中,需要先对芯片中资源以及拥有的IO进行统计

7IO重映射主要针对芯片上IO合理布局做出的决策

8数据寄存器 DR 一个数据发送寄存器TDR 和一个接收数据寄存器RDR 一个地址对应两个物理内存

9寄存器中,使用0 / 1映射到实际的数字上 设备上端口不够使用的情况下,可使用此种方法

10单片机中时钟为外设工作的心脏,要是时钟不工作,外设上也就不会正常运转

11串口使能开启,需要UE =1 TE = 1 发送数据时,对应数据流向为DMA或者 cpu两种渠道

12波特率 每秒钟要发送多少数据 【二进制位】

串口中寄存器说明

7696cf32-67ef-11ed-8abf-dac502259ad0.png

TXE 用来判断数据 发送数据寄存器 先将数据放置到发送数据寄存器中,之后将数据移动到发送移位寄存器中 对应到寄存器为txc为数据传输标志位

TC标志位对应的是数据发送完成

串口上时钟进行计算,需要先确定时钟来源

76d534c0-67ef-11ed-8abf-dac502259ad0.png

定时器以及串口上使用时钟,分别挂载在APB1 APB2

备注:

1 后续设备使用GD32芯片,可以考虑提升芯片上串口波特率 ,或者使用同步串口进行数据传输

2 单片机中对小数进行表示,精度为bit位对应有效数据分之1 波特率寄存器表示精度 1 / 16

3 计算出波特率对应数值,小数部分数值 / 1 / 16对应数值为 小数部分对应的转化数字,实际数据 /精度 =数量级

4 波特率相关参数计算,可以使用宏定义 ,使用公式自己进行计算,最终实现赋值

祝各位:前程似锦。

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 串口通讯
    +关注

    关注

    1

    文章

    249

    浏览量

    24547
  • USART
    +关注

    关注

    1

    文章

    186

    浏览量

    30423

原文标题:USART 基础知识点复习

文章出处:【微信号:自豪三王,微信公众号:自豪三王】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    使用PADS软件进行PCB设计,有哪些基础知识点

    使用PADS软件进行PCB设计,有哪些基础知识点?发现知识点很多、很杂、很乱,有没有聚合归纳统一的内容给到
    发表于 08-20 12:07

    BFC的基础知识点有哪些?

    BFC的基础知识点:css盒模型清除浮动 div水平垂直居中原型和原型链
    发表于 11-05 06:02

    FPGA的基础知识点及工作原理是什么

    FPGA的基础知识点及工作原理是什么
    发表于 04-30 06:14

    NFC技术基础知识点总结的太棒了

    RFID频段有什么应用?NFC技术基础知识点总结的太棒了
    发表于 05-21 06:57

    电机与拖动知识点及其试题

    电机与拖动知识点分析一、基本知识基础知识知识点常考题目二、直流电机一、基本知识基础知识
    发表于 06-29 07:10

    求大神分享C6678板卡的基础知识点

    求大神分享C6678板卡的基础知识点
    发表于 10-09 06:45

    求大神分享光电技术与光纤基础知识点

    求大神分享光电技术与光纤基础知识点
    发表于 10-12 07:10

    ARM汇编基础知识点汇总,错过肯定后悔

    ARM汇编基础知识点汇总,错过肯定后悔
    发表于 11-29 07:13

    UCOSIII的基础知识点汇总,总结的太棒了

    UCOSIII的基础知识点汇总,总结的太棒了
    发表于 11-30 07:22

    串口通信的基础知识点汇总,不看肯定后悔

    串口通信的基础知识点汇总,不看肯定后悔
    发表于 12-03 06:47

    STM32 USART串口初始化的知识点,看完你就懂了

    STM32 USART串口初始化的知识点,看完你就懂了
    发表于 12-06 06:46

    浅谈几个C语言基础知识点

    文章目录前言一、位操作二、使用步骤前言这里主要是简单的复习一下几个 C 语言基础知识点,引导那些 C 语言基础知识不是很扎实的用户能够快速开发 STM32 程序。提示:以下是本篇文章正文内容一、位
    发表于 12-09 07:14

    STM32时钟树的基础知识点汇总,绝对实用

    STM32时钟树的基础知识点汇总,绝对实用
    发表于 02-14 07:49

    STM32 IIC和USART接口的基础知识点汇总,绝对实用

    STM32 IIC和USART接口的基础知识点汇总,绝对实用
    发表于 02-22 08:00

    单片机原理及应用考试复习知识点

    单片机原理及应用考试复习知识点挺全的。
    发表于 01-11 14:54 0次下载