imx6 配置串口波特率_stm32异步串口(uart)通讯基本操作
| 串口是一种全双工通讯方式
单工
数据传输只支持数据在一个方向上传输
半双工
允许数据在两个方向上传输,在同一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信
全双工
允许数据同时在两个方向上传输,因此,全双工通信是两个单工通信方式的结合,它要求发送设备和接收设备都有独立的接收和发送能力
异步串口常见连接方式
相同端口数据传输
不同端口数据传输
这里必须保证通讯两端数据共地,此外还需注意不同端口间的电平转换,如TTL、232.
| 异步通讯时序图
这里以8位字长为例,进行数据传输时,接收方首先捕捉数据起始位- -由高电平到低电平的数据跳变,低电平会保持一个数据周期(空闲时,数据线保持高电平)
1-8-1
紧接着起始位的是8位有效数据(低地址数据LSB在前),这里特别注意,若设置了奇偶校验,奇偶校验位会占据一位有效数据,即写进数据寄存器数据的MSB位被校验位替换后发送出去,如下表所示:
最后为1位停止位,停止位为有效高电平
| 奇偶校验
使能校验功能后,写进数据寄存器的数据的MSB位被校验位替换后发送出去(如果选择偶校验偶数个’1’,如果选择奇校验奇数个’1’)。
偶校验:校验位使得一帧中的7或8个LSB数据以及校验位中’1’的个数为偶数。
例如:数据=00110101,有4个’1’,如果选择偶校验,校验位是’0’。 奇校验:此校验位使得一帧中的7或8个LSB数据以及校验位中’1’的个数为奇数。
例如:数据=00110101,有4个’1’,如果选择奇校验,校验位是’1’。
| 波特率的产生
RX/TX 波特率=FCK/(16*USARTDIV )
这里的FCK为串口模块的输入时钟频率,通常首先确定想得到的波特率,而后通过上述公式,解得USARTDIV ,进而将USARTDIV的小数和整数部分分别填入波特率寄存器(USART_BRR)的整数DIV_Mantissa和小数DIV_Fraction部分中。
例如: 求得 USARTDIV = 25.62时,就有:DIV_Fraction = 16*0.62 = 9.92 最接近的整数是: 10 = 0x0A DIV_Mantissa = mantissa (25.620) = 25 = 0x19于是, USART_BRR = 0x19A
| 异步串口通讯的基本配置过程
1. 使能串口及对应引脚时钟
2. 配置引脚,根据需要决定是否重映射
TX输出引脚 -- 传输速率50M_hz,复用推挽输出
RX输入引脚 -- 浮空输入
3.串口参数初始化
设置字长、停止位个数、是否开启校验位及选择校验方式(CR1、CR2寄存器),波特率设置
4. 配置中断优先级
抢占优先级、子优先级,使能中断通道
5. 根据需要,开启串口部分中断(CR1)
6. 使能串口(CR1)
stm32串口有独立的收发能力,可根据需要单独开启/关闭接收、发送单元
imx6 配置串口波特率_stm32异步串口(uart)通讯基本操作相关推荐
- 基于STC15W4K48S4芯片的温度检测控制系统(支持手机蓝牙和串口屏的异步串口通信)
目标功能 实现温度的实时检测,并通过两个异步串口将数据发送至串口屏HMI和与蓝牙模块相连接的手机上.支持手机APP和串口屏进行实时的相关数据更改.单片机根据数据要求,当实时温度不在合理范围时,做出应激 ...
- imx6 配置串口波特率_RS232串口多机通信
一.基本原理 1.主从多机通信拓扑图 2.主从多机通信的具体过程 1)使所有的从机的SM2位置1,以便接收主机发来的地址: 2)主机发出一帧地址信息,其中包括8位需要与之通信的从机地址,第9位为1: ...
- MSP430程序库二UART异步串口
串行通信接口是处理器与其他设备进行数据通信最常用的方式之一.我的这个程序库是针对MSP430f14系列和MSP430f16系列的,我常用的单片机是这两款:msp430f149,msp430f169.这 ...
- 51单片机之串口波特率配置
51单片机之串口波特率计算 方式0的波特率配置 方式2的波特率配置 方式1和3的波特率配置 232串口模式,共有4钟方式,其中方式0.方式2的波特率是固定的.方式1.方式3的是可变波特率,这两个是用T ...
- 32 串口波特率_「正点原子FPGA连载」第五章串口中断实验
1)实验平台:正点原子达芬奇FPGA开发板 2) 摘自[正点原子]达芬奇之Microblaze 开发指南 3)购买链接:https://detail.tmall.com/item.htm?id=624 ...
- SJXXX串口扩展芯片 4串口芯片 UART串口芯片
SJXX串口扩展芯片 1 概述 SJ000是一款具备I2C总线/SPI总线/UART接口的四通道异步收发器件,通过模式选择使得该器件工作于以上任何一种主接口模式下.器件的四个通道UART可提供高达2M ...
- stm32 ucosii消息队列 串口_STM32F1的UART4串口配置
注意是UART4,不是USART4 在stm32中UART和USART是不相同的 USART是通用同步/异步串行接收/发送器 UART是通用异步收发传输器 简单区分同步和异步就是看通信时需不需要对外提 ...
- 串口波特率等概念(转https://blog.csdn.net/dagefeijiqumeiguo/article/details/68921820)
篇一 : 串口波特率等概念 1:比特率:9600bps 就是每秒中传输9600bit,也就是相当于每一秒中划分成了9600等份. 如此,那么每1bit的时间就是1/9600秒=104.16666666 ...
- linux 串口波特率的修改与sdma的设置
最近这几天准备用串口实现DMA的传输数据,刚开始研究三天DMA,结果是一脸懵逼,无奈之下,只能跑去研究串口,结果发现Linux系统串口和DMA是真的难(小白,而且没人一起研究!),芯片手册对应的页数可 ...
最新文章
- html 重置画布坐标系,html5清空画布方法(三种)
- 关于BBSxp/LeadBBS的后台上传Webshell的鸡肋防范
- easyui combogrid分页加载默认值时无法自动跳转到相应页的解决方案
- 带你开发类似 Pokemon Go 的 AR 游戏
- Python发送邮件smtplib.SMTP各报错问题的解决方法
- Android-静态代理模式
- Whose Hall?
- 原生js实现京东商城楼梯效果
- Javascript的枚举属性
- Source Insight 中查看日文注释
- 相机成像原理与数学模型
- 利用ant自动从vss下载代码并编译到自动发布
- 苹果系统itunes连iphone连不上服务器,itunes不识别iphone,iPhone连接不上iTunes怎么解决?连接不上iTunes怎么办?...
- flutter 修改app名字和图标(安卓)
- 瞬态抑制二极管有方向吗?
- JAVA流的使用(复制文件效率对比)初学者
- java h d,Java HijrahChronology zonedDateTime(TemporalAccessor)用法及代码示例
- 使用node+vue.js实现SPA应用,解决了SPA应用的最大缺点SEO
- GetItemText
- 计算机组成原理英语翻译,计算机课程英文翻译
热门文章
- linux dr校园网端口被占用,Dr.com端口占用的解决
- 中如何刷新当前路由_企业装修和家庭改造中,路由器及接收器如何安放
- abaqus质量缩放系数取值_ABAQUS-延性损伤模型模拟金属材料断裂
- php 跳转到另外一个php,PHP: 其他变更 - Manual
- python学习day07-encode和decode
- PS2018学习笔记(30-35节)
- va_start、va_end、va_arg 实现可变长参数
- Linux监控命令之==sar
- MySQL查询表的所有列名,用逗号拼接
- eclipse常见小问题