目录
第一节 UART概述
1.1 UART的用处:
(1)用于打印调试信息;
(2)用于外接各种模块:GPS、蓝牙等等。
1.2 UART的优点
结构简单且可靠。
1.3 UART原理与概念
如下图11.1所示:
1.4 UART数据传输原理与过程
我们在使用串口助手时,一般首先设置波特率,然后设置数据位、停止位、校验位、流量控制。那么,为什么这样设置呢,原理是什么?这节课讲了串口的原理就理解了。
注:波特率是指每秒传输的位数。
举例说明原理:
比如说ARM发送1Byte(如’A’)给PC,即发送0x41给PC(‘A’的ASCii码是41),即发送0b01000001给PC。发送过程如下所示:
对UART的特性和数据传输过程进行总结,如下:
1.5 关于电平转换
先说一下关于USB和UART的几个常识:
(1)根据不同电压uart(即串口)分为只在开发板内部使用的5v的ttl电平,和短距离传输的15v的rs232,和长距离传输的rs485等。ttl和rs232的协议一样,只需要转电平即可。
(2)uart、usb、iic 、spi都是协议接收方式不同。即uart和usb之间的传输还需要满足协议。USB本质上也是一种电平。
(3)说一下2440和PC数据传输机制:
其机制就是2440的串口接电脑的串口。
1.5.1 mini2440(友善之臂)数据传输
mini2440内部有一个电平转换芯片,将TTL转换为RS232,然后连接到电脑的RS232。但是现在的电脑没有RS232接口(9针接头)了,因此解决方案是:mini2440的RS232九针口转成USB,USB接到电脑,电脑端的USB转为串口(也可能不转,我还不清楚)。
这是Jz2440的传输方式(韦东山的板子):机制是,2440TTL电平转为USB,直接通过USB进行与电脑之间的数据传输。也就是说直接一个USB线即可完成连接传输。
1.6 UART内部具体机制
程序是如何通过UART写到PC,又怎么将PC的字节通过UART读呢?原理如下:
(1)补充:UART向CPU发出中断,是为了判断数据是否发送完毕,判断数据是否接收到。
(2)2440最高波特率Bandrate:115200。
115200,8n1中的8n1是指:8指Data位数,n指校验位,1指停止位。传输1byte需要10位。经计算2440最大传输速率为11520byte/s或者说115.2Kbit/s。
第二节 UART编程
uart.c
#include "s3c2440_soc.h"
/* 115200,8n1 */
void uart0_init()
{
/* 设置引脚用于串口 */
/* GPH2,3用于TxD0, RxD0 */
GPHCON &= ~((3<<4) | (3<<6)