ARM的串口基本操作函数测试(基于LPC2134)

发布者:恬淡岁月最新更新时间:2016-05-03 来源: eefocus关键字:ARM  串口  基本操作  函数测试  LPC2134 手机看文章 扫描二维码
随时随地手机看文章

 

  1. /**************************************************************************** 
  2. # * 文件名称:UART0.h 
  3. # * 功能:声明关于UART0的相关全局函数 
  4. # * 版本:1.0 
  5. # * 作者:jianqi2010 
  6. # ****************************************************************************/  
  7. void UART_Init(void);  
  8.   
  9. void UART_Send_Byte(char ch);  
  10.   
  11. void UART_Send_String(char* p);  
  12.   
  13.   
  14. /**************************************************************************** 
  15. # * 文件名称:UART0.c 
  16. # * 功能:定义关于UART0的相关全局函数 
  17. # * 版本:1.0 
  18. # * 作者:jianqi2010 
  19. # ****************************************************************************/  
  20. #include"UART0.h"  
  21. #include"config.h"  
  22. #define BAUD 9600//波特率  
  23.   
  24. void UART_Init(void)  
  25. {  
  26. uint16 Fdiv;  
  27. U0LCR=0x83;//相关校验位、数据长度等的设置,DLAB = 1,可设置波特率  
  28. Fdiv=(Fpclk/16)/BAUD;  
  29. U0DLM=Fdiv/256;  
  30. U0DLL=Fdiv%256;  
  31. U0LCR=0X03;  
  32. }  
  33.   
  34. /**************************************************************************** 
  35. # * 名称:UART_Send_Char 
  36. # * 功能:UART0发送字节函数 
  37. # * 入口参数:等待发送的字节 
  38. # * 出口参数:无 
  39. # ****************************************************************************/  
  40. void UART_Send_Byte(char ch)  
  41. {  
  42. U0THR = ch;  
  43. while((U0LSR&0x40)==0); //等待数据发送完毕  
  44. }  
  45.   
  46. /**************************************************************************** 
  47. # * 名称:UART_Send_String 
  48. # * 功能:UART0发送字符串函数 
  49. # * 入口参数:等待发送的字符串 
  50. # * 出口参数:无 
  51. # ****************************************************************************/  
  52. void UART_Send_String(char* p)  
  53. {  
  54. while (*p!='/0')  
  55. {  
  56. UART_Send_Byte(*p++);  
  57. }  
  58. }  
  59.   
  60.   
  61. /**************************************************************************** 
  62. # * 文件名称:main.c 
  63. # * 功能:测试UART0的发送程序 
  64. # * 版本:1.0 
  65. # * 作者:jianqi2010 
  66. # ****************************************************************************/  
  67. #include"config.h"  
  68. #include"UART0.h"  
  69.   
  70. //测试函数  
  71. int main(void)  
  72. {  
  73. PINSEL0=0X05;  
  74. IO0DIR = 0x01;  
  75. UART_Init();  
  76. UART_Send_String("HellowWord");  
  77. return 0;  
  78. }  

 

 

关键字:ARM  串口  基本操作  函数测试  LPC2134 引用地址:ARM的串口基本操作函数测试(基于LPC2134)

上一篇:利用ARM外部中断控制流水灯的闪烁速度(基于LPC2134)
下一篇:让2440输出驱动的调试信息

推荐阅读最新更新时间:2024-03-16 14:52

实现STM32的串口数据发送和printf函数重定向
在调试电机驱动程序的时候,是不能随便利用中断来进行一些寄存器或数据的查看的,不然你在运行的时候突然来一下,如果占空比大的话那可能直接就把MOS管给烧了,所以我们很多情况下只能使用USART(串口)来进行程序的调试和数据的监控了。 对于STM32来说,由于很多内容都是有库来实现的,那就省了很多时间,直接看个例子就可以写了,大致有4步步骤: 1 1、RCC始终初始化,对端口和USARTX使能时钟 2 2、初始化端口功能,RX设置为输入悬空,TX设置为复用功能的推挽输出,注意GPIO_SPEED要设置下,我没设置弄了半天都没输出 3 3、设置USARTX寄存器,波特率、数据位、校验位、停止位等 4 4、看需要是否开中断,我这里
[单片机]
ARM9(S3C2440)时钟与定时器
时钟概念 一、时钟脉冲:一个按一定电压幅度,一定时间间隔连续发出的脉冲信号。 二、时钟频率:单位时间(如一秒)内产生的时钟脉冲个数。 时钟作用 时钟信号时时序逻辑(如一些芯片要一定的延时时间才能工作)的基础,它用于决定逻辑单元中的状态何时更新。数字芯片中众多的晶体管都工作在开关状态,他们的导通和关断动作无不是按照时钟信号的节奏进行的。 (1)时钟产生-----晶振 优点:性能稳定,频率稳定,准确。 缺点:频率仅由晶体决定,通常是特定晶体被制成客户所需要的振荡器,导致成本,周期较长,不利于快速上市,而且难以获得非标准的频率。 (2)时钟产生-----PLL PLL(锁相环)合成器是一种更为复杂的系
[单片机]
<font color='red'>ARM</font>9(S3C2440)时钟与定时器
ARM7系统中实现CF卡存储的文件系统设计
摘要:介绍针对ARM7架构的嵌入式系统中,以CF卡作为存储介抽的文件系统的设计,并通过GPS车辆导航系统中地图信息读写的具体应用介绍了其软硬件电路的实现方法。 关键词:嵌入式文件系统 CF卡 ARM7 随着微控制器性能的不断提高,嵌入式应用越来越广泛。但是目前市场上的大型商用嵌入式实时系统,价格昂贵,而且都针对特定的硬件平台。对于中小型系统开发,购买商用实时系统并不划算。 目前我们正着手将嵌入式系统软件应用于汽车卫星导航仪系统的一步开发。传统的嵌入式应用并不包括文件系统,而我们要实现的文件系统需要在车辆导航系统中实现地图数据文件的读写。因此它既要支持与MS-DOS兼容的文件系统也要支持其它类型的文件系统。 另一方
[嵌入式]
A76性能惹眼,ARM为进击Windows 10 PC市场做好准备?
IP授权业者安谋(ARM)日前在美国旧金山发表应用在行动领域的最新一代CPU、GPU以及视讯处理器(video processor;VPU)核心:ARM Cortex A76 CPU、ARM Mali G76 GPU、ARM Mali V76 VPU。虽然从安谋身为IP业者来看,向以授权其设计给其他SoC供应商,自身除了认证外也不会自行打造或销售基于上述设计核心的晶片,但包括华为、联发科、高通(Qualcomm)以及三星电子(Samsung Electronics)等在内的供应商将一如预期向安谋取得授权,在自家下一代晶片导入全部或部分上述设计核心,估计内建此类晶片的行动装置将在2019年问世。   研究机构Moor Insight
[半导体设计/制造]
ARM造就高性价比MCU优势 寻求差异化是关键
在ARM Cortex系列处理器问世之后,各家MCU厂商大量采用该核心来打造自家MCU产品,使得市场上一时间ARM架构MCU成为当红炸子鸡。尽管8位元MCU的普及度高,然而8位元特性并不能满足所有应用,特别是更为复杂的工业自动化控制,这也让ARM Cortex架构的32位元优势能够充分发挥。 附图 : ARM Cortex核心依据效能不同,拥有包括M0、M0+、M3、M4等不同架构(图:ARM)  意法半导体产品行销经理杨正廉指出,ARM Cortex系列核心所主打的,就是以32位元的效能与8位元的价格,来取代传统MCU产品。32位元与8位元的差别,就如同跑车与脚踏车,一旦用上了32位元MCU,意味着运算工作将更为复杂,精
[单片机]
串口DMA方式发送&接收
串口DMA方式收发 笔者使用的是STM32F407VET6,共包含6路串口,页尾处程序已将全部串口的DMA收发配置完成,本文仅以串口1为例进行讲解。(查看代码可直接跳至第二节或页尾处下载) 1 STM32F4 DMA 简介 DMA,全称为:Direct Memory Access,即直接存储器访问。DMA 传输方式无需 CPU 直接控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为 RAM 与 I/O 设备开辟一条直接传送数据的通路,能使 CPU 的效率大为提高。 STM32F4 最多有 2 个 DMA 控制器(DMA1 和 DMA2),共 16 个数据流(每个控制器 8 个),每一个 DMA 控制器都用
[单片机]
<font color='red'>串口</font>DMA方式发送&接收
arm裸板驱动总结(makefile+lds链接脚本+裸板调试)
在裸板2440中,当我们使用nand启动时,2440会自动将前4k字节复制到内部sram中,如下图所示: 然而此时的SDRAM、nandflash的控制时序等都还没初始化,所以我们就只能使用前0~4095地址,在前4k地址里来初始化SDRAM,nandflash,初始化完成后,才能将nandflash的4096至后面的地址内容存放到SDRAM里去. 而裸板驱动的步骤如下所示: 1.写makefile 2.写lds链接脚本 (供makefile调用) 3.写真正要执行的文件代码,比如初始化nand,sdram,串口等 为什么要写lds链接脚本? 首先lds链接脚本的作用就是将多个*.o文件的各个段链接在一起,告诉链接
[单片机]
<font color='red'>arm</font>裸板驱动总结(makefile+lds链接脚本+裸板调试)
非移动市场需求飙升ARM预计50亿片出货量
ARM核产品覆盖了MCU应用的每一个领域,从消费娱乐、无线移动、到网络和家庭应用等。而在便携式移动产品领域,以低功耗著称的ARM处理器占绝对优势。ARM公司于3月份宣称截至2007第四季度已累计“出货”100亿片MCU,而自2007年Q4至今又有10亿片基于ARM核的处理器出货。因此说ARM产品无处不在并不为过。而正当人们惊讶于ARM公司的快速成长与其低功耗产品在移动领域所取得的成就的同时,ARM已经将目光投向了非移动领域。 2008年6月11日,在深圳举办了ARM第一届家庭应用创新研讨会暨合作伙伴中国峰会上,ARM公司中国总裁谭军博士表示,ARM预计2010年的年出货量将达50亿片,而ARM也将在家庭应用上捕获更多的
[焦点新闻]
非移动市场需求飙升<font color='red'>ARM</font>预计50亿片出货量
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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