UART构件化编程:禁用串口接收中断
需积分: 32 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系列微控制器的工程师来说,是一份宝贵的参考资料。
2020-08-25 上传
2021-09-11 上传
2021-10-11 上传
2021-02-08 上传
2021-09-30 上传
2021-02-04 上传
点击了解资源详情
2021-05-07 上传
LI_李波
- 粉丝: 58
- 资源: 4049
最新资源
- WPF渲染层字符绘制原理探究及源代码解析
- 海康精简版监控软件:iVMS4200Lite版发布
- 自动化脚本在lspci-TV的应用介绍
- Chrome 81版本稳定版及匹配的chromedriver下载
- 深入解析Python推荐引擎与自然语言处理
- MATLAB数学建模算法程序包及案例数据
- Springboot人力资源管理系统:设计与功能
- STM32F4系列微控制器开发全面参考指南
- Python实现人脸识别的机器学习流程
- 基于STM32F103C8T6的HLW8032电量采集与解析方案
- Node.js高效MySQL驱动程序:mysqljs/mysql特性和配置
- 基于Python和大数据技术的电影推荐系统设计与实现
- 为ripro主题添加Live2D看板娘的后端资源教程
- 2022版PowerToys Everything插件升级,稳定运行无报错
- Map简易斗地主游戏实现方法介绍
- SJTU ICS Lab6 实验报告解析