UART构件编程:禁止串口接收中断的实现与应用

需积分: 50 41 下载量 110 浏览量 更新于2024-08-10 收藏 3.88MB PDF 举报
"禁止串口接收中断-speech processing in modern communication--challenges and perspectives" 本文讨论的是在现代通信中处理语音的挑战与视角,特别是在嵌入式系统开发实践中的UART(通用异步收发传输器)编程。UART是一种常见的串行通信接口,在微控制器如飞思卡尔K60系列中广泛使用。在基于构件方法的UART编程中,重点是将UART的初始化、接收和发送功能封装成独立的函数,以实现模块化和易于移植的代码。 首先,UART构件包含三个基本操作:初始化、接收和发送。初始化函数配置UART模块的工作属性,接收和发送函数执行实际的数据传输。这些功能通常在名为`uart.c`的源代码文件中实现,并通过`uart.h`头文件提供对外接口,头文件中定义了模块的基本信息和函数原型。为了实现构件化,函数原型设计必须清晰且高效,以确保良好的代码结构和可维护性。 UART构件作为最底层的模块,向上提供初始化、接收单个字节、发送单个字节的服务,同时封装了接收和发送N个字节的子功能。在软件结构上,UART构件对应一个`uart.c`源码文件和一个`uart.h`头文件。在移植到其他平台时,通常只需要复制这两个文件,除非需要针对不同硬件的宏定义进行调整。 在使用UART构件时,应避免通过全局变量传递参数,而是直接通过函数参数进行数据传递,以保持接口简洁并减少潜在的安全风险。例如,设计的UART构件包括以下七个基本功能函数: 1. 初始化:`void uart_init(UART_MemMapPtr uartch, uint32 sysclk, uint32 baud)`,用于设置UART的波特率等参数。 2. 发送单个字节:`void uart_send1(UART_MemMapPtr uartch, uint8 ch)`,发送一个字节数据。 3. 接收单个字节:`uint8 uart_re1(UART_MemMapPtr uartch,uint8 *ch)`,接收一个字节数据。 4. 发送N个字节:`void uart_sendN(UART_MemMapPtr uartch ,uint8* buff,uint16 len)`,批量发送字节数组。 5. 接收N个字节:`uint8 uart_reN(UART_MemMapPtr uartch ,uint8* buff,uint16 len)`,接收指定长度的字节数组。 6. 使能串口接收中断:`void enableuartreint(UART_MemMapPtr uartch,uint8 irqno)`,开启UART接收中断功能。 7. 禁止串口接收中断:`void disableuartreint(UART_MemMapPtr uartch,uint8 irqno)`,关闭UART接收中断。 在K60芯片的开发环境中,如使用IAR或CodeWarrior,这些函数将帮助开发者高效地处理UART通信,包括中断驱动的接收和发送。书中还涉及了GPIO、定时器、A/D转换、SPI、I2C、I2S、Flash、CAN、USB、SDHC、TSI、以太网等其他模块的使用,为全面掌握K60系列微控制器的开发提供了详尽的指导。 本书《ARMCortexM4嵌入式系统开发实践——基于飞思卡尔K60系列微控制器》由王宜怀和王林编著,适合高校高年级学生、研究生以及嵌入式系统开发人员作为教材和参考,提供实例源代码、辅助资料和其他相关资源,以支持读者深入学习和实践。