嵌入式 > 技术百科 > 详情

430之通用异步串口通信模块

发布时间:2020-06-20 发布时间:
|

今天把同学的datasheet复印版本拿过来跟着视频学的,突然间发现复印版本的datasheet好比电子档的要好很多,给我个人的感觉吧,要掌握一门芯片,真的要去仔仔细细的看一下datasheet,静下心来看,发现他和六级中科学类阅读是一样的,我在感到庆幸的同时,还在感谢我高中的班主任,感谢他在高中的时候,英语学习对我的帮助,好了吐槽到这,进入今天的正题~~~

 

异步通信的特点:

1:可以是7位和8为数据字节,能够进行奇偶校验

2:独立的收发移位寄存器

3:发送数据的有独立的接收和发送寄存器,注意是低位在前面

4:内置空闲线路和地址通信协议

5:拥有起始位探测,可以从低功耗模式中唤醒

6: 可编程的波特率发生器

7:错误探测

8:独立的收发中断

 

其实这些功能:只需要这张图就可以解决了,各个模块的应用,其实很容易懂的,下面来介绍一下

首先看标志1:三个可以选择的时钟源ACLK,SMCLK,UCLK1,

进去就是一个分频器(标志2),由于分频器存在一定的误差,举个例子,就是学习51的时候,为了的到9600的波特率,不是片外的晶振必须是11.0592MHz 的晶振吗,如果采用12M的就会有误差,430为了克服这个问题,采用了分频器得到整数,小数部分通过一个小数点的逻辑电脑(多数表决得到)当然误差肯定也是存在的,但是430得到了进一步的优化

 

 

在进去就要看上下两部分图中标志是3,还有4,其中3是接收部分,4是发射部分,每个部分有移位寄存器,缓存器,还有接发收控制寄寄存器组成

最后在对每个部分进行分析就可以了,关键是要看懂datasheet上的介绍,这张图的了解这么多就可以了

 

430提供两种多机通信方式:空闲线路通信模式,地址通信模式

其中空闲线路是以线路闲置的时间来判断是数据位还是地址位,其中如果线路闲置了超过10个高电平的间隔,当单片机再次接收到数据是,这把第一个数据当作是地址位,后面的是紧跟的是数据,如果没有超过,这一直认为是数据块

地址通信模式的话,就是在数据中穿插了一个标志位,其中当标志位是1的时候,单片机认为这是地址,当标志位是0时则认为是数据

 

之后便是430单片机提供的数据检测,比如帧错误,奇偶校验错误,重复接收错误,断开错误,等等还有出现错误是继续送给cpu处理的设置,还是果断抛弃,关键的标志位要看具体的datasheet上的说明

之后便是USART的接收允许和中断允许,也是需要看懂几个图就可以了

接收使能图

首先看一下标号1,这是单片机不允许接收的状态,这个时候,URXEx等于0,当URXEx等于1的时候,单片机处于状态2,这时候,如果给单片机发送任何一个数据,都可以让单片机处于状态3,注意的是,单片机的URXEx是系统硬件清零,当单片机完成状态3,便会向cpu提供一个中断的申请

 

同样,发送状态也是差不多,这里可以去参考datasheet了,笔者不做另外说明

430单片机的UART看懂这些,就可以看相关的寄存器操作了,但是学习寄存器的使用,光看懂是没用的,要通过具体的编程,好了,今天就总结到这里

 


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
用于MAX7456随屏显示器SPI