LPC17XX 串口接收发送中断(含RS485)最全面驱动程序
时间:11-09
来源:互联网
点击:
最近在做一个关于串口的项目,于是把之前的串口程序又拿了出来,重新优化了一下!
1、头文件《uart.h》如下:
1/* 2****************************************************************************************************** 3** Copright(c) 2007-2014,深圳固镭特电子 ** 4** All rights reserved. ** 5** http://www.greatele.com ** 6****************************************************************************************************** 7**文件名称: uart.h ** 8**文件标识: LPC17xx ** 9**摘 要: 串口(UART0、UART1、UART2、UART3)通讯程序头文件 ** 10**当前版本: V1.3 ** 11**作 者: 江南神枪 ** 12**完成日期: 2011.06.10---V1.0 ** 13**修 改:2011.12.11---V1.1 : 对于IIR_RDA中断,接收RX_FIFO_SIZE-1个字节,对于刚好是RX_FIFO_SIZE ** 14 的整数倍个字节数据时,留一个字节于FIFO中,以产生CTI中断! ** 15 解决接收RX_FIFO_SIZE的整数倍个字节数据时无法创建接收完成标致(RX_OK)的问题! ** 16** 2014.01.01---V1.2 :增加中断发送数据功能. ** 17** 2014.10.18---V1.3 :修改部分bug,调整通过串口号选择串口而不通过结构选择串口! ** 18****************************************************************************************************** 19*/ 20#ifdef UART_GLOBALS 21#define UART_EXT 22#else 23#define UART_EXT extern 24#endif 25 26 27/* 28****************************************************************************************************** 29** 参数配置 ** 30****************************************************************************************************** 31*/ 32#define RX_FIFO_SIZE (14) //设置RX FIFO触发深度4、8、14. 33#define TX_FIFO_SIZE (16) //设置TX FIFO的使用长度. 34#define BUFFER_SIZE (256) //设置串口收发数据缓冲区的长度. 35 36/* 37****************************************************************************************************** 38** 全局变量定义 ** 39****************************************************************************************************** 40*/ 41#define UART0 0x00 //串口号 42#define UART1 0x01 43#define UART2 0x02 44#define UART3 0x03 45 46 UART_EXT uint32 BaudRate[4]; //波特率. 47 48//对于RX FIFO触发深度为1的情况(和不使用FIFO差不多,意义不大),不作处理!
LPC17XX串口接收发送中断RS48 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)