UART构件化编程:禁用串口接收中断
需积分: 32 60 浏览量
更新于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 上传
2023-06-25 上传
2023-04-04 上传
2023-11-07 上传
2023-09-04 上传
2023-09-23 上传
2023-06-24 上传
LI_李波
- 粉丝: 60
- 资源: 4007
最新资源
- Java集合ArrayList实现字符串管理及效果展示
- 实现2D3D相机拾取射线的关键技术
- LiveLy-公寓管理门户:创新体验与技术实现
- 易语言打造的快捷禁止程序运行小工具
- Microgateway核心:实现配置和插件的主端口转发
- 掌握Java基本操作:增删查改入门代码详解
- Apache Tomcat 7.0.109 Windows版下载指南
- Qt实现文件系统浏览器界面设计与功能开发
- ReactJS新手实验:搭建与运行教程
- 探索生成艺术:几个月创意Processing实验
- Django框架下Cisco IOx平台实战开发案例源码解析
- 在Linux环境下配置Java版VTK开发环境
- 29街网上城市公司网站系统v1.0:企业建站全面解决方案
- WordPress CMB2插件的Suggest字段类型使用教程
- TCP协议实现的Java桌面聊天客户端应用
- ANR-WatchDog: 检测Android应用无响应并报告异常