UART构件化编程:禁用串口接收中断

需积分: 32 29 下载量 54 浏览量 更新于2024-08-09 收藏 5.12MB PDF 举报
"禁止串口接收中断-SSVEP-BCI算法介绍v5-基于K60微控制器的ARMCortexM4嵌入式系统开发实践" 本文主要介绍了基于构件方法的UART(通用异步收发传输器)编程,特别针对飞思卡尔K60系列微控制器中的UART模块。UART是嵌入式系统中最基本的通信接口之一,用于实现串行通信。在ARM Cortex-M4嵌入式系统开发实践中,UART模块的构件化设计能够提高代码的可移植性和可维护性。 首先,UART构件包含了初始化、接收和发送三个基本操作,这些操作封装在单独的函数中,分别位于uart.c和uart.h文件中。uart.c包含了对硬件寄存器的直接操作,而uart.h定义了对外接口。构件化设计的目标是使UART模块成为不可再分的“元构件”,只提供初始化、单字节发送和接收以及批量发送和接收的接口。 UART模块具备以下特点: 1. 提供初始化、接收单个字节、发送单个字节的底层服务,同时封装了接收和发送多个字节的子功能。 2. 模块由一个源代码文件(uart.c)和一个头文件(uart.h)组成,移植时通常只需复制这两个文件,仅在跨芯片移植时修改与硬件相关的宏定义。 3. 避免使用全局变量传递参数,通过函数参数进行数据传递,以保持接口简洁并减少安全隐患。 在UART构件中,设计了7个基本功能函数: 1. 初始化:`uart_init(UART_MemMapPtr uartch, uint32 sysclk, uint32 baud)`,设置UART工作属性。 2. 发送单个字节:`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)`。 7. 禁止串口接收中断:`void disableuartreint(UART_MemMapPtr uartch,uint8 irqno)`。 此外,书中还提到了其他与K60微控制器相关的嵌入式系统设计,包括GPIO、定时器、A/D转换、SPI、I2C、I2S、Flash、CAN、USB、SDHC、TSI、以太网等模块的使用。这些内容对于理解和实现基于K60的嵌入式系统开发至关重要。 此资源摘要提供了关于如何在K60微控制器上实现UART模块构件化编程的详细指导,以及如何利用这些构件进行嵌入式系统设计。这对于嵌入式系统开发人员,尤其是使用K60系列微控制器的工程师来说,是一份宝贵的参考资料。