完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
先介绍一些概念。
起始位:先发出一个逻辑”0”的信号,表示传输数据的开始。 校验位:数据位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验数据传送的正确性。就比如传输“A”(01000001)为例。 (字符‘A’的二进制是 0100 0001) 当为奇数校验:”A”字符的8个bit位中有两个1,那么奇偶校验位为1才能满足1的个数为奇数(奇校验)。 当为偶数校验:”A”字符的8个bit位中有两个1,那么奇偶校验位为0才能满足1的个数为偶数(偶校验)。 此位还可以去除,即不需要奇偶校验位。 停止位:它是一帧数据的结束标志。可以是1bit、1.5bit、2bit的空闲电平。可能大家会觉得很奇怪,怎么会有1.5位~没错,确实有的。所以我在生产此uart信号时用两个波形点来表示一个bit。这个可以不必深究。。。 空闲位:没有数据传输时线路上的电平状态。为逻辑1。 传输方向:即数据是从高位(MSB)开始传输还是从低位(LSB)开始传输。比如传输“A”(字符‘A’的二进制是 0100 0001) 如果是MSB那么就是0100 0001(如图-2),如果是LSB那么就是10000010 uart传输数据的顺序就是:刚开始传输一个起始位——传输数据位——校验位(可不需要此位)——停止位。 这样一帧的数据就传输完了。接下来接着像这样一直传送。在这里还要说一个参数。 帧间隔:即传送数据的帧与帧之间的间隔大小,可以以位为计量也可以用时间(知道波特率那么位数和时间可以换算)。比如传送”A”完后,这为一帧数据,再传”B”,那么A与B之间的间隔即为帧间 实验: 用串口工具发送0XD6,即二级制 1101 0110 ,在示波器上如此显示。 串口设置:波特率9600,停止位1位,无奇偶校验位。 在示波器上,最左边一个低电平表示0,起始位;然后依次是0110 1011,正好和发送的数据最高位和最低位反过来。如下图。 这就是所谓的LSB. ________传输方向:即数据是从高位(MSB)开始传输还是从低位(LSB)开始传输 再来个例子:用串口发送0x75,就是二进制 0111 0101,如下图所示。 串口设置:波特率9600,停止位1位,无奇偶校验位。 同理,最左侧的为起始位,低电平0, 然后LSB传输。 1010 1110依次传输到示波器。 第三个例子:用串口发送0x75,就是二进制 0111 0101, 串口设置:波特率9600,停止位1位,奇校验。 奇校验就是要保证这一帧里的所有BIT 有1的数为奇数,0x75已经有5个1了,所以奇偶校验位为0即可。如下图所示。 同理,如果为偶校验,那么最后一位应该是高电平1,就会有6个1,以此保证所有的1的数量为偶数。 最后,连发发送两个16进制数据0x75(0111 0101) 0x6B (0110 1011) 串口设置:波特率9600,停止位1位,无奇偶校验位。 ———————————————— |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1614 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1541 浏览 1 评论
970 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
682 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1592 浏览 2 评论
1863浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
644浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
515浏览 3评论
531浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
504浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 00:15 , Processed in 0.603978 second(s), Total 48, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号