基于s3c2410开发板的UART测试程序

发布者:脑电风暴最新更新时间:2016-12-02 来源: eefocus关键字:s3c2410  UART  测试程序 手机看文章 扫描二维码
随时随地手机看文章

如下程序实现的是开发板从PC端口接受一个字符,并把该字符加1后发送会PC端口。(在本开发板测试成功)对于不同的主频要设置好UBRDIV0的值,在技术文档中有这个值的计算公式。

#define ULCON0     (*(volatile unsigned *)0x50000000) //UART 0 Line control
#define UCON0      (*(volatile unsigned *)0x50000004) //UART 0 Control
#define UFCON0     (*(volatile unsigned *)0x50000008) //UART 0 FIFO control
#define UMCON0     (*(volatile unsigned *)0x5000000c) //UART 0 Modem control
#define UTRSTAT0   (*(volatile unsigned *)0x50000010) //UART 0 Tx/Rx status
#define UBRDIV0    (*(volatile unsigned *)0x50000028) //UART 0 Baud rate divisor

#define UTXH0 (*(volatile unsigned char *)0x50000020) //UART 0 Transmission Hold
#define URXH0 (*(volatile unsigned char *)0x50000024) //UART 0 Receive buffer

#define GPHCON (*(volatile unsigned *)0x56000070)
#define GPHDAT (*(volatile unsigned *)0x56000074)
#define GPHUP  (*(volatile unsigned *)0x56000078)

int Main()
{
 unsigned long TXH0READY = 0x2;
 unsigned long RXH0READY = 0x1;
 //init uart
 GPHCON |= 0xa0;
 GPHUP  |= 0x0c;  //PULLUP is enable;
 //init uart controllor
 ULCON0 = 0x03;
 UCON0  = 0x245;
 UFCON0 = 0x00;
 UMCON0 = 0x00;
 UBRDIV0= 26;
  
 while(1)
 {
  while(!(UTRSTAT0 & RXH0READY));
  c = URXH0;

  while(!(UTRSTAT0 & TXH0READY));//wait
  UTXH0 = c+1;
 }
 while(1);
 return(0);
}


关键字:s3c2410  UART  测试程序 引用地址:基于s3c2410开发板的UART测试程序

上一篇:ARM的中断产生到处理过程
下一篇:s3c2410汇编启动代码与中断跳转分析

推荐阅读最新更新时间:2024-03-16 15:22

基于S3C2410的辅助倒车数字图象系统设计
1 、引言   据统计,由于车后盲区所造成的交通事故在中国约占30%,美国20%。前两代倒车辅助产品,一种是倒车喇叭,一种是倒车雷达。前者只能提醒路人自行躲闪,而司机却一无所知,固定的障碍物更是无法探测,起到的作用微乎其微,后者虽能把固定的障碍物通过报警的形式告知司机,但司机还是无法判断障碍物的确切位置,更不能探测地坑或低矮障碍物。   目前,国内外的研究趋势是在倒车雷达的基础上采用数字图像处理技术,利用强大的嵌入式处理器,开发用于检测车后物距和监视车后图像的优点相结合的车载可视倒车装置。   因此本文提出一种基于S3C2410的辅助倒车系统设计,该系统不但使驾驶员可以在车内观察到汽车车尾的真实场景,而且可以通过系统所带的测
[汽车电子]
基于<font color='red'>S3C2410</font>的辅助倒车数字图象系统设计
AVR的uart串口通信程序
// 1、使用ICCAVR的终端 调试 窗口(Terminal),进行通信调试。 // 2、对ICCAVR的终端调试窗口进行 设置 ,设置 串口 为com1或com2 // 通信波特率为19200(Tools- Environment Options...)。 // 3、将PC屏幕光标定位于调试窗口中。 #include #define fosc 8000000 //晶振8MHZ #define baud 19200 //波特率 #define osc_address 0x1ff0 extern unsigned char read_flash(unsigned int add);
[单片机]
S3C2410 Flash 烧写
我们2410的板子使用了intel 28F系列的flash作为存储器,并且同时使用了两片合成一个32位的外部存储器。为了将bootloader烧写进flash我们自己编写了一段代码完成这项任务,但这个方法比较麻烦,需要安装不少庞大的软件。为了偷懒我试了一下H-jtag附带的H-flasher和Flash programmer,其中,H-flasher根本就不支持Intel的flash,而Flash programmer则不能写入,不时有错误发生。 我仔细研究了这个软件,发现,选中2410的时候,各寄存器都是使用的缺省设置。有些寄存器的名字都没有写对,我估计这些缺省设置很可能就是程序不能工作的源头。按照我们uboot的设
[单片机]
Wavecom推出超小GSM/GPRS四频通信模块,面向M2M应用
  Wavecom公司日前推出据称市场上最小的GSM/GPRS四频通信模块WISMO Quik Q2686,支持GSM/GPRS 850/900/1800/1900 MHz,只要嵌入Q2686,产品即可通行全球(包括韩国,日本除外)。此外,Wavecom亦同步推出其模块操作系统OS 6.60新版本。新版操作系统可整合更多平台,协助研发设计人员能快速导入,开发更多应用。   Quik Q26系列是Wavecom新推出的无线通信模块产品线,专为机器对机器(machine-to-machine)应用所设计。Q26系列搭配新版操作系统OS6.60,为将来EDGE与3G开发铺路。Q2686为Q26系列的第一个成员,大小为40×32.2×4
[工业控制]
MSP430F5438学习笔记 UART ACLK 9600-8-N-1
1.初始化UART0之前需要先初始化ACLK、SMCLK和MCLK。示例代码中使用XT1,ACLK为32768,SMCLK和MCLK约为8MHZ。 2.UART的时钟可以参考ACLK或者SMCLK,本例参考ACLK。由于参考ACLK时钟,所以串口速率不能超过32768。选择9600较为合适。 3.MSP430波特率的产生有两种模式,低频波特率产生和过采样波特率产生。代码中使用低频波特率产生。 4.代码的开头调用了stdio,在函数中宏重写了putchar函数,定向到UART单字节输出。 5.代码初始化之后输出 Hello MSP430,随后直接反射串口接收到的数据,例如发送123456即返回123456。 // 时钟默认情
[单片机]
MAX3140集成通用异步接收发送器(UART)和失效保护的
MAX3140是一个完整的通用异步接收发送器( UART )和一个真正的 失效保护 的RS-485/RS-422收发器在一个28引脚QSOP封装为空间,成本和功率受限的应用软件包相结合。在MAX3140节省了额外的板空间,以及微控制器(μC)的I /特色的SPI™/ QSPI的™/ MICROWIRE™兼容的串行接口O引脚。这是引脚对所有的RS-485/RS-422网络的配置编程。   在MAX3140包括一个单一的RS-485/RS-422驱动器和接收具有真正的失效保护电路,保证逻辑高接收器输出时,接收器输入开路或短路。此功能提供免疫缺陷,而无需复杂的终止。该MAX3140提供软件可选的半双工或全双工操作,数据速率,压摆率,
[电源管理]
MAX3140集成通用异步接收发送器(<font color='red'>UART</font>)和失效保护的
S3C2410 DMA原理与实例
1. DMA的含义:Direct Memory Acess ,可以不通过CPU而在DMA控制器的控制下,高速地和I/O设备和存储器之间交换数 据。 2.S3C2410A支持4通道DMA,在以下四种情况可运行 ① 源设备和目标都在系统总线AHB上 ② 源设备和目标都在外围总线APB上 ③ 源设备在系统总线,而目标设备位于外围总线 ④ 源设备在外围总线,而目标设备位于系统总线 3. 传输协议 ① 单步模式:一次DMA传输有两个DMA应答周期(产生两个应答信号nXDACK)指示DMA读和写周期,主要用与测试和调试模式,在读写周期之前,总线控制权可以让给其他总线控制器 ② 连续模式:一次DMA请求将产生连续的的DMA传输,直到规定的DMA
[单片机]
嵌入式实时操作系统Nucleus PLUS在S3C2410A上移植的实现
引言 Nucleus PLUS是美国ATI 公司为实时性要求较高的嵌入式系统应用设计的操作系统内核。约95%的Nucleus PLUS代码用ANSI C语言编写,因此,非常便于移植并能够支持大多数类型的微处理器,如X86、68K、PowerPC、MIPS、ARM等。经过截减编译后,Nucleus PLUS 核心代码区一般不超过20KB大小。 同时提供TCP/IP网络、图形界面Grafix、文件系统File等模块。还有一个特点就是免费提供源代码,有利于节省开发费用。 S3C2410A是三星公司推出的基于ARM920T内核高性能低功耗16/32位RISC微控制器,内部集成了丰富的系统外围控制器。配合Nucleus PLUS操作系统可
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved