3334|5

4996

帖子

19

TA的资源

裸片初长成(初级)

楼主
 

欢迎探讨:怎样应用串口? [复制链接]

 

ARM Cortex-M0从这里开始

 

       对于串口来说,每一个使用过单片机的人都熟悉不过了。也是大家入门的一个首选,不管是调试还是应用,很多人已经离不开它了。特别是现在的模块化外部设备,基本上都是使用串口作为通信接口,例如,GPRS,GPS,指纹模块,摄像头等等。

 

       对于与这些设备通信,一般人都使用串口中断接收,查询方式发送。而且一般都不使用串口缓冲区,从这些可以看出,这样的使用方式特别使用像8051这样的低端单片机,然而,自从ARM的问世,其串口的功能却得到了很大的改观,下面就LPC1100串口为例说明它的特点:

 

 

       从上面的特性不难看出LPC1100串口比8051串口有了很大的提高,那么你还是在用8051的串口程序,运行ARM串口吗?

 

 

ARM Cortex-M0从这里开始

[ 本帖最后由 zhaojun_xf 于 2012-5-23 08:15 编辑 ]
此帖出自NXP MCU论坛

最新回复

感觉对串口的原理不是很懂似得  详情 回复 发表于 2012-5-28 19:32
点赞 关注
个人签名我的博客
 

回复
举报

4996

帖子

19

TA的资源

裸片初长成(初级)

沙发
 

应用串口的几个问题:

 

1.你使用过16字节的串口缓冲区吗?那么应该在什么情况下使用?设置多少字节为触发为好?

 

2.你使用过发送中断吗?应该什么情况下使用?

此帖出自NXP MCU论坛
 
个人签名我的博客
 
 

回复

4996

帖子

19

TA的资源

裸片初长成(初级)

板凳
 

1.你使用过16字节的串口缓冲区吗?那么应该在什么情况下使用?设置多少字节为触发为好?

 

    一般很少有人使用缓冲区,可能是愿意51单片机的使用习惯。在采用中断接收时,常常采用1字节中断。其实使用好串口自带的缓冲区可以使接收效率更高。如我们设置8字节触发中断,那么只要接收到8字节后才触发中断。而不用每接收一字节都去中断,减少了中断后,大大节约了CPU进入中断处理的时间,为其他程序代码的及时处理赢得了宝贵的时间。那么如果一次接收的数据达不到8的整数陪是不是就会丢掉后面的多余的数据呢?答应是否定的,对于这种情况,设计者已经想到,专门配备了一个叫做超时中断的中断标志,在大约4字节接收的时间内没有收到数据,硬件将自动产生超时中断。所以在使用缓冲接收时必须配备超时中断进行处理,从而保证数据的完整性。

 

     那么一般设置多少字节触发为好?

 

     这个问题可能不好回答,不同情况一般可以不同。不过比较常见的是8字节,这样设计的好处是:如果串口已经接收到8字节了,但是由于有比串口中断高的优先级中断产生,可能会导致CPU不能及时处理串口中断,那么我们还有足够(8字节)的缓冲去继续接收其他数据,从而保证了串口接收不丢数据。如果缓冲设置过大(14字节),那么可能会导致数据丢包的情况产生。如果设计过小,会减小CPU的工作效率。特别是在使用操作系统的情况下,串口缓冲的重要性就体现出来了。因为为了保证数据不被破坏,很多情况下都会使用关中断。如果没有缓冲,而又被关了中断,特别容易丢数据。这一点,使用过操作系统的人应该深有感住。

 

2.你使用过发送中断吗?应该什么情况下使用?

 

    我们在通过串口发送数据时,往往使用查询方式。这种方式虽然简单明了,但是如果串口数据特别多的情况下,会导致整个系统的反应特别迟钝。而且在使用操作系统的情况下,更能体现这一点。由于发送过程特别漫长,将浪费大量宝贵的CUP时间。如果这是配合发送中断,把数据发送让中断函数自动实现,将大大提高系统工作效率。

 

 

总结:

 

    很多情况下,大家的使用都非常保守。例如使用I2C,SPI等总线时,总是喜欢使用模拟方式(就是硬件本身支持硬件总线),而不采用硬件方式。其实芯片设计者在设计芯片时已经充分为我们的使用设计好了,在什么情况下使用哪些资源,哪些是必要的。但是由于我们的保守,实际使用的资源非常有限。特别是你使用操作系统的情况下,你将知道采取硬件自身的功能实现,比使用软件实现的好处要多得多。

[ 本帖最后由 zhaojun_xf 于 2012-5-24 07:54 编辑 ]
此帖出自NXP MCU论坛
 
个人签名我的博客
 
 

回复

33

帖子

0

TA的资源

一粒金砂(中级)

4
 
写的不错
此帖出自NXP MCU论坛
 
 
 

回复

90

帖子

0

TA的资源

一粒金砂(中级)

5
 
一直在串口方面都有些疑惑,支持赵俊版主
此帖出自NXP MCU论坛
 
 
 

回复

90

帖子

0

TA的资源

一粒金砂(中级)

6
 
感觉对串口的原理不是很懂似得
此帖出自NXP MCU论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表