微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > LPC17XX 串口接收发送中断(含RS485)最全面驱动程序

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差不多,意义不大),不作处理!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top