- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ARM课外实验报告书
系 部 名 称 :
学 生 姓 名 :
专 业 名 称 :
班 级 :
实验一 UART 通信的试验
一、实习内容:
通过 Easy-ARM1138 产生信号,向 PC 机发送信号,PC 机通过超级终端接收信
号。
二、实验板介绍:
通过232通信、485器件进行连接。
三、原理简述:
UART(Universal Asynchronous Receiver/Transmitter)即通用异步收发
传输器,工作于数据链路层。包含了RS-232、RS-422、RS-485串口通信和红
外(IrDA) 等等。UART协议作为一种低速通信协议,广泛应用于通信领域等各种
场合。UART基本可分为并口通信及串口通信两种。
异步串口通信协议作为UART的一种,工作原理是将传输数据的每个字符一位接
一位地传输。图一给出了其工作模式:
其中各位的意义如下:
起始位:先发出一个逻辑”0”的信号,表示传输字符的开始。
资料位:紧接着起始位之后。资料位的个数可以是4、5、6、7、8等,构成
一个字符。通常采用ASCII码。从最低位开始传送,靠时钟定位。
奇偶校验位:资料位加上这一位后,使得“1”的位数应为偶数(偶校验)或
奇数(奇校验),以此来校验资料传送的正确性。
停止位:它是一个字符数据的结束标志。可以是1位、1.5位、2位的高电平。
空闲位:处于逻辑“1”状态,表示当前线路上没有资料传送。
四.实习步骤:
1.根据要求编写程序,接着连接电路,注意每个端口的对应正确,然后设置超级
终端的参数,最后将程序下载到ARM板子中进行调试。
2.程序段的相关分析:是控制LED闪烁发光的简单例程。该程序实际上是实用工
程模板Demo的一个应用,直接从main( )函数开始编写。
在main( ) 函数的前面,定义了LED所在的GPIO端口和管脚。在main( )里,首先
定义了一个变量ulClock ,在调用函数clockInit( )时被初始化为当前的系统时钟频
率,在后面对库函数SysCtlDelay( )调用时会用到该变量。
控制LED分3步走:调用函数SysCtlPeriEnable( )使能LED所在的GPIO模块,调用
函数 GPIOPinTypeOut( ) 配置 LED 所 在 的 GPIO 管 脚 为 推 挽 输 出 , 调 用
GPIOPinWrite( )对LED所在的GPIO管脚写0和写1实现LED 闪烁发光的效果。
部分程序分析如下:主函数(程序入口)
int main(void)
{
jtagWait( );
clockInit( );
SysCtlPeriEnable(LED_PERIPH);
GPIOPinTypeOut(LED_PORT, LED_PIN);
for (;;)
{
GPIOPinWrite(LED_PORT, LED_PIN, 0x00); // 点亮LED
SysCtlDelay(150 * (TheSysClock / 3000));
GPIOPinWrite(LED_PORT, LED_PIN, 0xFF); // 熄灭LED
SysCtlDelay(850 * (TheSysClock / 3000));
}
#include "systemInit.h"
#include "uartGetPut.h"
#include <stdio.h>
分析:在程序中设置自己的班级及序号
int main(void) // 主函数(程序入口)
{
char s[40];
jtagWait( );
文档评论(0)