实验3——ARM的串行口实验.doc

实验3——ARM的串行口实验.doc

ID:61499475

大小:89.50 KB

页数:7页

时间:2021-02-07

实验3——ARM的串行口实验.doc_第1页
实验3——ARM的串行口实验.doc_第2页
实验3——ARM的串行口实验.doc_第3页
实验3——ARM的串行口实验.doc_第4页
实验3——ARM的串行口实验.doc_第5页
资源描述:

《实验3——ARM的串行口实验.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、课程名称:嵌入式技术                        开课机房:11号机房2012年4月1日星期二8:10~11:35专业班级通信09(1)班学号 Xb姓名 董达意实验项目名称实验3——ARM的串行口实验指导教师陈玮 一、实验任务与实验目的实验目的1.了解UART的基本知识2.掌握基于群星系列CM3程序库的UART配置、数据收发编程3.学会串口调试助手或超级终端的使用实验任务任务一:使用Stellaris驱动库函数,编写可以接收及发送字符串的基于EASYARM8962开发板的UART驱动程序任务二:在MicrosoftVisualStudio开发环境下,使用C#编

2、写一桌面程序,要求可以通过串口发送指令,使用其打开LED3~LED6。命令协议可以自己定义。 二、报告内容任务一#include"uartGetPut.h"#include"systemInit.h"#include#include#include#definePART_LM3S8962#include//定义接收缓冲区#defineMAX_SIZE40//缓冲区最大限制长度charRxBuf[1+MAX_SIZE];//接收缓冲区intBufP=0;//缓冲区位置变量tBooleanRxEndFlag

3、=false;//接收结束标志//UART2中断服务函数voidUART0_ISR(void){charc;unsignedlongulStatus;ulStatus=UARTIntStatus(UART0_BASE,true);//读取当前中断状态UARTIntClear(UART0_BASE,ulStatus);//清除中断状态if((ulStatus&UART_INT_RX)

4、

5、(ulStatus&UART_INT_RT))//若是接收中断或者{//接收超时中断for(;;){if(!UARTCharsAvail(UART0_BASE))break;//若接收FIFO里无

6、字符则跳出c=UARTCharGetNonBlocking(UART0_BASE);//从接收FIFO里读取字符if(c=='r'){UARTCharPut(UART2_BASE,'r');//回显回车换行UARTCharPut(UART2_BASE,'');RxEndFlag=true;//接收结束标志置位break;}if(isprint(c))//若是可打印字符{if(BufP

7、断方式接收一个字符串,不回显,返回实际接收到的有效字符数intuartFIFOGets(char*s,intsize){intn;while(!RxEndFlag);n=BufP;BufP=0;RxEndFlag=false;strncpy(s,RxBuf,size);s[MAX_SIZE]='';return(n);}//UART初始化voiduartInit(void){SysCtlPeripheralEnable(SYSCTL_PERIPH_UART0);SysCtlPeripheralEnable(U0TX_PERIPH);//使能RX/TX所在的GPIO端口GPI

8、OPinTypeUART(U0RX_PORT,//配置RX/TX所在管脚为U0RX_PIN);//UART收发功能GPIOPinTypeUART(U0TX_PORT,//配置RX/TX所在管脚为U0TX_PIN);//UART收发功能UARTConfigSet(UART0_BASE,//配置UART端口9600,//波特率:9600UART_CONFIG_WLEN_8

9、//数据位:8UART_CONFIG_STOP_ONE

10、//停止位:1UART_CONFIG_PAR_NONE);//校验位:无UARTFIFOLevelSet(UART0_BASE,//设置收发FIFO中断触发

11、深度UART_FIFO_TX2_8,//发送FIFO为2/8深度(4B)UART_FIFO_RX6_8);//接收FIFO为6/8深度(12B)UARTIntEnable(UART0_BASE,UART_INT_TX);//使能发送中断IntEnable(INT_UART0);//使能UART总中断IntMasterEnable();//使能处理器中断UARTEnable(UART0_BASE);//使能UART端口}//通过UART发送一个字符voiduartPutc(constcharc

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。