资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,实验六 串口通讯实验,GX-ARM9-2410EP,教学实验系统,1,实验目的,1掌握,ARM,的串行口工作原理;,2编程实现,ARM,的,UART,通讯;,3掌握,S3C2410,寄存器配置方法。,2,实验内容,实现查询方式串口的收发功能。接收来自串口(通过超级终端)的字符并将接收到的字符发送到超级终端。,3 预备知识,1熟悉,ADS,集成开发环境的基本功能;,2了解串口通讯的基本知识;,3熟悉,S3C2410,串口有关寄存器。,4 实验设备,1,ARM2410,嵌入式开发板,,JTAG,仿真器。,2软件:,PC,机操作系统,Win98、Win2000,或,WinXP,,ADS1.2,集成开发环境,仿真器驱动程序,超级终端通讯程序。,5 实验原理,串行通信字符格式,5 实验原理,CPU,中的串口寄存器:,1),UART,行控制寄存器,ULCONn,该寄存器的位6决定是否使用红外模式,位5位3决定校验方式,位2决定停止位长度,位1和位0决定每帧的数据位数。,2),UART,控制寄存器,UCONn,该寄存器决定,UART,的各种模式。,3),FIFO,控制寄存器,UFCONn,该寄存器用于收发缓冲的管理,包括缓冲的触发字节数的设置、,FIFO,的清除和使能。,5 实验原理,CPU,中的串口寄存器:,4)MODEM,控制寄存器,UMCONn,该寄存器用于设置流控方式。在实验中没有使用流控。,5),状态寄存器,UTRSTATn,该寄存器用于判断串口的状态,。,6)错误状态寄存器,UERSTATn,它可以反映芯片当前的错误类型。,7),FIFO,状态寄存器,UFSTATn,通过它读出目前,FIFO,是否满以及其中的字节数。,5 实验原理,CPU,中的串口寄存器:,8),发送寄存器,UTXH,和接收寄存器,URXH,这两个寄存器存放这发送和接收的数据,当然只有一个字节8位数据。需要注意的是,在发生溢出错误时,接收的数据必须被读出来,否则会引发下次溢出错误。,9)波特率分频寄存器,UBRDIV,该寄存器为十六位,用于设置串口传输的波特率,算法参见试验指导书上公式部分。,5 实验原理,串口在嵌入式系统中是一个重要的资源,常用来做输入输出设备,在后续的实验中也将使用串口的功能。串口的基本操作有三个:串口初始化、发送数据和接收数据,这些操作都是通过访问上节中描述的串口控制寄存器进行,5 实验原理,(,1,)串口初始化程序,MMU_Init,(),;/,初始化内存管理单元,/,设置系统时钟,ChangeClockDivider,(,1,1,),;/1,:,2,:,4,ChangeMPllValue,(,0 xa1,0 x3,0 x1,),;/FCLK=202.8MHz,Port_Init,(),;/,初始化,I/O,口,Uart,_Init,(,0,115200,),;/,初始化串口,Uart,_Select,(,0,),;,/,选择串口,0,5 实验原理,(,2,)发送数据,while,(,!,(,rUTRSTAT0&0 x2,),;/,等待发送缓冲空,rUTXH0=data;/,将数据写到数据端口,(,3,)接收数据,while,(,rUTRSTAT0&0 x1=0 x0,),;/,等待数据,data=rURXH0;,/,读取数据,6 实验步骤,1参照模板工程,新建一个工程,UART,,添加相应的文件,并修改,UART,的工程设置;,2创建,Main.C,和,mmu,.c,并加入到工程,UART,中;,3编写串口操作函数实现如下功能:循环接收串口送来的数据,并将接收到的数据发送回去;,4编译,UART;,5,将计算机的串口接到开发板的,UART0,上;,6运行超级终端,选择正确的串口号,并将串口设置位:波特率(115200)、奇偶校验(,None)、,数据位数(8)和停止位数(1),无流控,打开串口;,6 实验步骤,7运行程序,在超级终端中输入的数据将回显到超级终端上,如下图所示:,1简述串行接口的工作原理以及串行接口的优缺点;,2,RS-232C,的最基本数据传送引脚是哪几根?,3,简述串行接口通讯程序设计的基本步骤。,7,实验报告要求,
展开阅读全文