新闻  |   论坛  |   博客  |   在线研讨会
第八章 ARM7(LPC2136)串口通信原理
xiajiashan | 2012-08-28 16:57:24    阅读:1438   发布文章

8.1 认识串口原理图

这里所说的串口也叫RS232或这UART(Universal Asynchronous Receiver/Transmitter)。

下面的两个图是串口通信的两种应用场合。

xjs_1.jpg

 

xjs_2.jpg




三线制,用于一般的数据收发;

九线制,用于Modem(调制解调器)功能,应用于拨号上网设备,手机等通信设备中。

我们这里主要讨论三线制。

8.2 设置串口

也许很多人在XP下面用过串口,我们在“设备管理器”里面,有一个端口属性,里面就是串口设备,

xjs_3.jpg

 

xjs_4.jpg


这些基本的配置,在单片机和ARM里面也有。

8.2.1 波特率

这里第一个要设置的是串口波特率,波特率就是每秒传输的数据位数,用bps来表示。在LPC2136中,波特率通过公式

xjs_5.jpg

计算得到。

pclk指CPU的peripheral devices clock。
U0DLM是指UART0除法锁存器(Divisor Latch Register)的高八位;
U0DLL是指UART0除法锁存器(Divisor Latch Register)的低八位;
(注意:U0DLL的复位值为0)
LPC2136 datasheet提供了一个表,我们可以根据这个表设置这两个寄存器的值就行了,很方便。

xjs_6.jpg


8.2.2 设置串口数据格式

xjs_7.jpg



我们一般设置8位数据位,1个停止位,无奇偶校验位,禁止间隔发送。

注意,我们在设置波特率之前必须,使能访问除数锁存。

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
02年接触ARM和ucos,开发过有线和无线图像报警器,IPCamera,人脸识别系统,OCR识别系统,指纹识别系统,05年开始从事Linux及Rtems下WiFi,camera,Ethernet等驱动开发工作,专做嵌入式linux培训,致力于把我十年来的研发经验传授给每一个学员,招人的可以找我,ximenpiaoxue4016@sina.com
推荐文章
最近访客