完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
来源 单片机精讲吴鉴鹰 UART是用于控制计算机与串行设备的芯片。有一点要注意的是,它提供了数据终端设备接口,这样计算机就可以和调制解调器或其它使用RS-232C接口的串行设备通信了。作为接口的一部分,UART还提供以下功能: 将由计算机内部传送过来的并行数据转换为输出的串行数据流; 将计算机外部来的串行数据转换为字节,供计算机内部使用并行数据的器件使用; 在输出的串行数据流中加入奇偶校验位,并对从外部接收的数据流进行奇偶校验; 在输出数据流中加入启停标记,并从接收数据流中删除启停标记; 处理由键盘或鼠标发出的中断信号(键盘和鼠票也是串行设备); 可以处理计算机与外部串行设备的同步管理问题; 异步串口通信协议,工作原理是将传输数据的每个字符以串行方式一位接一位的传输。如下图: 其中每一位(bit)的意义如下: 起始位:先发出一个逻辑“0”的信号,表示传输字符的开始。 数据位:紧跟起始位之后。数据位的个数可以是4、5、6、7、8等,构成一个字符。通常采用ASCII码。从最低位开始传送,靠时钟来定位。 奇偶校验位:数据位加上这一位后(跟在数据位尾部),使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验数据传送的正确性。 停止位:它是一个字符数据的结束标志。可以是1位、1.5位、2位的高电平(逻辑“1”)。 空闲位:处于逻辑“1”状态,表示当前线路上没有数据的传送。 波特率:是衡量数据传输速率的指针。表示为每秒钟传送的二进制位数(bit数)。例如资料传送速率为120字符/秒,而每一个字符为10位,则其传送的波特率为: 10×120%20=%201200字符/秒=1200波特。 以上的数据位、奇偶校验位、波特率等均可以在COM接口中设置。也可以在代码中对UART寄存器的各位进行设置,UART寄存器的各位所代表的含义如下: 下面通过几个小程序,了解UART通信协议进行数据传输的过程: 在这里我们使用 uart_init 函数便完成了UART各个位的设置,现在来看看uart_init在系统中是如何定义的: |
|
相关推荐 |
|
只有小组成员才能发言,加入小组>>
2249个成员聚集在这个小组
加入小组灵动微电子MM32全系列MCU产品应用手册,库函数和例程和选型表
11705 浏览 3 评论
【MM32 eMiniBoard试用连载】+基于OLED12864的GUI---U8G2
5932 浏览 1 评论
【MM32 eMiniBoard试用连载】移植RT-Thread至MM32L373PS
10970 浏览 0 评论
【MM32 eMiniBoard测评报告】+ 开箱 + 初探
4579 浏览 1 评论
灵动微课堂(第106讲) | MM32 USB功能学习笔记 —— WinUSB设备
4306 浏览 1 评论
[MM32软件] MM32F002使用内部flash存储数据怎么操作?
982浏览 1评论
808浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-28 09:12 , Processed in 0.449480 second(s), Total 38, Slave 30 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号