LPC1788的UART0初始化

发布者:黑白之间最新更新时间:2014-12-31 来源: 51hei关键字:LPC178  UART0  初始化 手机看文章 扫描二维码
随时随地手机看文章
UART0初始化:
 
板子LPC1788
 
 
UART0初始化步骤:
 
1. 初始化引脚。
 
 *(INT32U*) IOCON_P0_02 = 0X00000021;
 *(INT32U*) IOCON_P0_03 = 0X00000021;
 
2. 一些相关寄存器的赋值。
 
 *(INT32U*) PCONP |= PCUART0;//UART0 power on
 *(INT32U*) U0LCR = WLS_8|SBS_1|PE_Dis|DLAB_En;//8位数据,1位停止位,无奇偶校验,DLAB=1
 *(INT32U*) U0DLL = 0x20;//设置波特率
 *(INT32U*) U0DLM = 0;
 
 
 
 *(INT32U*) U0FCR = 0x00000087;//enable FIFO,Rx.Tx FIFO Reset,Rx Trigger Level 2(8 bytes)
 *(INT32U*) U0LCR = WLS_8|SBS_1|PE_Dis|DLAB_Dis;//DLAB=0
 
 *(INT32U*) U0IER = 0x00000007;//RDA,THRE,LSR中断
 
 
 
程序对于发送和接收采用中断方式,另外还有查询方式。
 
发送功能实现程序:
 
 for(i = 0; i < len; i++)
 { 
   *(INT8U*) U0THR = (str[i] & 0xFF);//给发送保持寄存器赋值
   while(!(*(INT32U*) U0IIR & 0x00000002));//检查是否产生THR中断
  // while(!(*(INT32U*)U0LSR)&(1<<5));
 }
  *(INT8U*) U0THR = 0x0a;//在这一串字符的末尾,输出回车符
 
接收功能实现程序:
 
while(!(*(INT32U*) U0IIR & 0x01))
 {
   switch(*(INT8U*) U0IIR & 0x0F)
   {
   case 0x04:  //RDA
     *buffer_addr ++ = *(INT8U*) U0RBR;
     break;
   case 0x0C:  //CTI
     *buffer_addr ++ = *(INT8U*) U0RBR;
     break;
   case 0x06:
     che = *(INT8U*) U0LSR;//LSR
     break;
   default:
     break;
   }
 
关键字:LPC178  UART0  初始化 引用地址:LPC1788的UART0初始化

上一篇:cortex M3权威指南之位带(Bit Band)操作
下一篇:将电池供电型微控制器系统耗电减到最少

推荐阅读最新更新时间:2024-03-16 13:50

STM8L RTC总结(2)初始化和配置
配置RTC时钟源 配置RTC时钟源为LSE,1分频,即32768Hz。 1. 等待CLK_CRTCR:RTCSWBSY位复位,然后设置CLK_CRTCR值为0x10; 2. 等待CLK_ECKCR:LSERDY位置位,标识LSE时钟源已稳定可用; 3. 等待CLK_ECKCR:LSEON位置位,标识LSE时钟源已启用。 解除RTC寄存器保护 执行以下操作顺序: 1. 写0xCA到寄存器RTC_WPR; 2. 写0x53到寄存器RTC_WPR。 写其它值到RTC_WPR,则自动激活RTC寄存器保护功能。 配置日历功能 配置步骤如下: 1. 进入初始化模式,置位RTC_ISR中INIT位;并等待初始化标志位(I
[单片机]
STM8S105 TIM1 TIM2 定时器的定时时间初始化
很多刚接触STM8单片机的入门者不知到如何使用TIM1和TIM2的定时器作为定时功能。 下面介绍如下: TIM1的初始化1us: 系统时钟是16M。 void set_TIM1_nus(u16 nus) { /*1u的记数周期*/ /*TIM1_TimeBaseInit(0x0F,TIM1_COUNTERMODE_UP,nus,TIM1_RCR_RESET_VALUE);*/ /* Set the Autoreload value */ TIM1- ARRH = (u8)(nus 8); TIM1- ARRL = (u8)(nus); /* Set the Prescaler value */ TIM1- PSCRH = (u
[单片机]
uboot-2011.12移植到S3C2440(三)——硬件初始化:看门狗、中断、时钟
/* * turn off dog, see C18P3 */ ldr r0, =pWTCON mov r1, #0x0 str r1, /* * C14 * mask all IRQs by setting all bits in the INTMR - default */ mov r1, #0xffffffff ldr r0, =INTMSK str r1, ldr r1, =0x7fff ldr r0, =INTSUBMSK str r1, /* * FCLK:HCLK:P
[单片机]
STM32 UART/USART初始化时钟使能
在学习STM32的过程中,我们通常会遇到使能时钟。例如在uart_init()的函数中,我们要使能串口: RCC- APB2ENR|=1 4;//使能串口1的时钟 RCC- AHB1ENR|=1 4;//使能portra的时钟 简而言之,就是让串口1和PA口工作。但是为什么使能之后就能工作了呢,我们可以查看手册,找到STM32的系统框架图(原子哥的资料里有) AHB (Advanced High performance Bus)高级性能总线,是系统总线的一种。AHB主要用于高性能模块之间的连接,如CPU,DMA等。 APB(Advancd Peripheral Bus),这是一种外围总线。APB主要用于低宽带的外围设备
[单片机]
关于定时器时间的一点小感悟
就是关于定时时间的计算,有了一个大致的了解。 TIM6Init(10000, 7200); //初始化定时器 6,预装载值为 10000,预分频值为 7200,定时时间 10000/(72000000/7200)=1s 1 那这篇是想介绍另外一种,假如我定时10ms已经确定,我想做到计每个数用的时间是39(us),那么对应的重装载数值及分频值如何确定呢? (感想来源于通用定时器比较输出256级PWM…) 总共10ms,每个数计39us,那么需要计10ms/39us=255个数。 此时对应的重装载值就是255了,然后对应的分频值为72*39-1。(72的含义是系统时钟,-1是C语言从0开始的)
[单片机]
STM32应用简章之GPIO初始化(输入引脚)
//初始化IO模式:上拉/下拉输入。调用函数: void KEY_Init(void) //IO初始化 { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOE,ENABLE);//使能PORTA,PORTE时钟 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4;//KEY0-KEY2 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
[单片机]
移植u-boot-2010.09到S3C2440(一)——硬件初始化与测试
在u-boot的代码选择中,只有201009是最近的可直接编译通过的,不带memset.s的u-boot版本。 屏蔽lowlevel_init的调用之后,将我在u-boot-201112版本中所做的硬件初始化全部挪到本版本中,包括串口驱动的修改,时钟设置,LED的点亮。 这个时候通过开发板自带的u-boot写到SDRAM调试就直接有串口输出与提示符。 注:本系列文档只注释难点部分,其它略过。
[单片机]
STM32F107VC 锁相环初始化
AHB与APB的地位相当于PC中的南北桥,是两道独立的片内总线。 AHB:advanced high-performance bus;APB: advanced peripherals bus。 static void SetSysClockTo72(void) { __IO uint32_t StartUpCounter = 0, HSEStatus = 0; /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration --------------------------- SYSCLK 由PLL时钟,外部高速时钟,内部高速时钟获得,最大为72MHz HCLK
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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