arm9-串口通讯程序使用

上传人:飞*** 文档编号:50959004 上传时间:2018-08-11 格式:PDF 页数:17 大小:136.88KB
返回 下载 相关 举报
arm9-串口通讯程序使用_第1页
第1页 / 共17页
arm9-串口通讯程序使用_第2页
第2页 / 共17页
arm9-串口通讯程序使用_第3页
第3页 / 共17页
arm9-串口通讯程序使用_第4页
第4页 / 共17页
arm9-串口通讯程序使用_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《arm9-串口通讯程序使用》由会员分享,可在线阅读,更多相关《arm9-串口通讯程序使用(17页珍藏版)》请在金锄头文库上搜索。

1、实 验 _ 三【实验名称】串口通信【目的与要求】1、 串口程序的设计与实现2、 串口发送的数据对开发板上资源的控制【实验内容 】 利用 PC机通过串口助手循环发送一个数(09) ,开发板读到这个数后点亮相应的一个 LED (比如输入 0,点亮 DL0;输入 1,点亮 DL1;输入 9,点亮 DL9 ) 。然后开发板将点亮相应LED灯的信息返回,发送到串口助手(比如,在界面上显示:第?个灯已点亮)【操作步骤及提示】1、工作原理串口通信主要是波特率控制、收发存储、数据存储转移三部分,计 算 机 乙计 算 机 甲01101 数据时钟计 算 机 乙计 算 机 甲01101 数据时钟数据+时钟通过 MA

2、X3232EEAE芯片的 RX 与 TX 进行收发姓名杨世才学号12310220122 年级嵌入式 12 成绩实验日期11 月 12 实验地点A7303 专业嵌入式任课教师王源源实验教师班级2 2、操作步骤3、实验心得与总结 多写代码 . 【扩展功能】【附录】#include “S3C2440.h“ #include “2440lib.h“ #include “option.h“ #include #include #include 3 #include #include #include #include “uart0.h“ #define WrUTXH0(ch) (*(volatile u

3、nsigned char *)0x50000020)=(unsigned char)(ch) #define RdURXH0() (*(volatile unsigned char *)0x50000024) /* 功能描述:串口测试程序输入参数:无返回结果:无*/ void UartTest(void) int i; uart0_init(); Uart_Printf(“n= Uart Test interrupt =“); 4 Uart_Printf(“nr= Press Enter to exit =nr“); while(i=0) Uart_Printf(“nInput a posit

4、ive int :“); i=Uart_GetIntNum(); Uart_Printf(“t Output That :%d“,i); /* * brief :关闭所有的灯*/ void halClearAll(void) GPFDAT |= 0xB0;/LED6: :LED7:LED4 GPGDAT |= 0x6A1;/LED2 :LED1: :LED3: :LED4: : : : 5 :LED5 /* 功能描述:初始化LED 所需要的所有 I/O 口的状态为输出状态输入参数:无返回结果:无*/ void halInitLed(void) /设置各种 I/O 端口为输出状态GPFCON /

5、LED6: :LED7:LED4 GPFCON |= 0x4500;/PGF7: :PGF5:PGF4 / 把GPF4,5,7 都置成输出GPGCON / :LED2 :LED1: :LED3: :LED4: : : :LED5 GPGCON |= 0x144401;/ :GPG10:GPG9: :GPG7: :GPG5: : : 6 : :GPG0 halClearAll();/ 熄灭所有灯 /* 功能描述:初始化配置输入参数:无返回结果:无*/ void uart0_init(void) GPHCON |= 0xaa; / GPH0,GPH1,GPH2,GPH3 分别nCTS0,nRTS0

6、,TXD0 ,RXD0 GPHUP = 0x7ff; /内部上拉被禁止UFCON0 = 0x00; / 不使用 FIFO UMCON0 = 0x00; / 不使用流控ULCON0 = 0x03; / 8N1(8 个数据位,无校验,1 个停止位 ) 7 UCON0 = 0x245; /PCLK 为时钟源,接收和发送数据为查询或中断方式/ 查询方式,UART 时钟源为 PCLK,中断请求方式为 Tx-电平,Rx-脉冲UBRDIV0=( (int)(PCLK/16./115200+0.5) -1 ); /* 功能描述:向串口打印的字节码输入参数:要打印的字节 data 返回结果:无*/ void U

7、art_SendByte(char data) if(data=n) while(!(UTRSTAT0 WrUTXH0(r); /将数据写入到 UART0 发送缓冲器中 8 while(!(UTRSTAT0 /Wait until THR is empty. / delayMilliseconds(10); WrUTXH0(data); /* 功能描述:从串口读入字符没有输入时候一直等待返回char型输入参数:无返回结果:无*/ char Uart_Getch(void) while(!(UTRSTAT0 /接收缓冲器接收到有效数据return RdURXH0(); /从 UART0 接收缓冲

8、器 (URXH0)接收数据 /* 功能描述:读入输入字符串9 输入参数: string 输入字符串的保存位置返回结果:无*/ void Uart_GetString(char *string) char *string2 = string; char c; while(c = Uart_Getch()!=r) if(c=b) if( (int)string2 想要开启的 LED 灯的 ID 号,可以直接输入 0-7,也可输入LED0 - LED7 */ void halSetLed(int led) switch(led) case 0:GPFDAT halInitLed(); uart0_init(); while(1) Uart_Printf(“n= please input 07 to control the LED =“); i=Uart_GetIntNum(); if(j!=i) halClearAll(); / 如果输入下一个数, 则前面的灯熄灭j=i; halSetLed(i); /点亮 LED 灯 17 提交截止时间: 2014.11.12 23:00

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号