LPC213x系列底层硬件驱动函数库_第1页
LPC213x系列底层硬件驱动函数库_第2页
LPC213x系列底层硬件驱动函数库_第3页
LPC213x系列底层硬件驱动函数库_第4页
LPC213x系列底层硬件驱动函数库_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

!!!LPC213x系列底层硬件驱动函数库目录

LPC213x系列底层硬件驱动函数库(1)

.1GPIO(1)

.1.1使用说明(1)

.1.2源码分析(4)

.2UART(7)

.2.1使用说明(7)

.2.2源码分析(9)

.3I2C(13)

.3.1使用说明(13)

.3.2源码分析(15)

.4SPI(26)

.4.1使用说明(26)

.4.2源码分析(27)

.5SSP(29)

.5.1使用说明(29)

.5.2源码分析(30)

.6定时/计数器(32)

.6.1使用说明(32)

.6.2源码分析(36)

.7PWM(41)

.7.1使用说明(41)

.7.2源码分析(43)

.8ADC(46)

.8.1使用说明(46)

.8.2源码分析(47)

.9DA(49)

.9.1使用说明(49)

.10实时时钟(50)

.10.1使用说明(50)

.10.2源码分析(51)

.11看门狗(53)

.11.1使用说明(53)

.12中断控制器(54)

.12.1使用说明(54)

.12.2源码分析(55)

.13锁相环PLL(58)

.13.1使用说明(58)

.13.2源码分析(59)

.14IAP(61)

.14.1使用说明(61)

.14.2源码分析(64)

i

LPC213x系列底层硬件驱动函数库

.1GPIO

.1.1使用说明

1.P0口GPIO初始化

函数功能:将P0口中,num为1的位初始化为GPIO,并设置方向。

表格1P0口GPIO初始化函数

调用示例:

P0_GPIOInit((10xffff)//初始化引脚P0.16~P0.31,需要设置PINSEL1for(i=16;i(0x3ff<<16))//P1.26~P1.31,由PINSEL2.2位控制

PINSEL2=PINSEL2&(~(1<<2));

if(dir==1)IO1DIR=(IO1DIR&(~num))|num;

elseIO1DIR=(IO1DIR&(~num));

}

/********************************************************************************************函数名称:uint8P0_GPIODir(uint32num,uint8dir)

**功能描述:在P0口中,设置num为1的位输入,输出方式。

**输入:num需要初始化的管脚

**dir管脚的输入输出方向

**1——输出

**0——输入

**输出:1操作成功

5

**0操作失败

******************************************************************************************/uint8P0_GPIODir(uint32num,uint8dir)

{

if((dir!=0)&&(dir!=1))return(0);

if(dir==1)IO0DIR=(IO0DIR&(~num))|num;//1表示该位为输出模式

elseIO0DIR=(IO0DIR&(~num));//0表示该位为输入模式

return(1);

}

/********************************************************************************************函数名称:uint8P1_GPIODir(uint32num,uint8dir)

**功能描述:在P1口中,设置num为1的位输入,输出方式。

**输入:num需要初始化的管脚

**dir管脚的输入输出方向

**1——输出

**0——输入

**输出:1操作成功

**0操作失败

******************************************************************************************/uint8P1_GPIODir(uint32num,uint8dir)

{

if((dir!=0)&&(dir!=1))return(0);

if(dir==1)IO1DIR=(IO1DIR&(~num))|num;//1表示该位为输出模式

elseIO1DIR=(IO1DIR&(~num));//0表示该位为输入模式

return(1);

}

程序清单0.2GPIO软件包中定义的宏定义

#defineRead_P0()IO0PIN//将P0口的值读出

#defineRead_P1()IO1PIN//将P1口的值读出

#defineWrite_P0(value)IO0PIN=value//将value的值写入到P0口中

#defineWrite_P1(value)IO1PIN=value//将value的值写入到P1口中

#defineP0_GPIOSet(num)IO0SET=num//在P0口中,置位num为1的位所对应的管脚#defineP0_GPIOClr(num)IO0CLR=num//在P0口中,清零num为1的位所对应的管脚#defineP1_GPIOSet(num)IO1SET=num//在P1口中,置位num为1的位所对应的管脚#defineP1_GPIOClr(num)IO1CLR=num//在P1口中,清零num为1的位所对应的管脚

6

.2UART

.2.1使用说明

1.初始化

函数功能:对UARTn进行初始化。

表格11UART初始化

调用示例:

UARTn_Ini(0,9600,8,1,0);//UART0初始化,波特率9600,8位数据位

//1位停止位,无奇偶校验位

2.设置FIFO

函数功能:对UARTn进行FIFO初始化。

表格12UARTFIFO初始化

调用示例:

Set_FIFO(0,8);//UART0FIFO初始化,8字节触发

7

3.发送1字节数据

函数功能:从UART发送一字节数据。

表格13UART发送1字节数据

调用示例:

UARTn_SendByte(1,0x55);//从UART1发送数据55H

4.发送多字节数据

函数功能:从UART发送多字节数据。

表格14UART发送多字节数据

调用示例:

UARTn_SendData(0,*data_buf,8);//将data_buf缓冲区中的8个字节数据

//从UART0发送出去

5.接收数据

函数功能:从UART接收数据。

表格15UART接收数据

8

调用示例:

UARTn_RcvData(0,*data_buf,8);//从UART0接收8字节数据

//并保存到data_buf缓冲区中

.2.2源码分析

程序清单0.3UART.c源代码

/********************************************************************************************文件名称:UART.c

**文件描述:LPC213xUARTn接口操作软件包。

**文件说明:程序中全部采用查询方式对UART进行操作。

******************************************************************************************/#include"config.h"

#defineTXD01//TXD0是引脚P0.0的第2功能

#defineRXD0(1<<2)//RXD0是引脚P0.1的第2功能

#defineTXD1(1<<16)//TXD1是引脚P0.8的第2功能

#defineRXD1(1<<18)//RXD1是引脚P0.9的第2功能

/********************************************************************************************函数名称:uint8UARTn_Ini(uint8n,uint32baud,uint8datab,uint8stopb,

**uint8parity,uint8INT_En)

**功能描述:对UARTn进行初始化。

**输入:n0——UART01——UART1

**baud串口通信波特率

**datab数据位个数,有效值为:5,6,7,8

**stopb停止位个数,有效值为:1,2

**parity奇偶校验位,0-无校验

**1——奇校验

**2——偶校验

**3——强制为1

**4——强制为0

**INT_En中断控制字节,按位操作

**bit01——RBR中断使能,0——RBR中断禁止

**bit11——THRE中断使能,0——THRE中断禁止

**bit31——RX线

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论