C语言UART.h库:快速初始化与数据传输
4星 · 超过85%的资源 需积分: 50 191 浏览量
更新于2024-09-16
2
收藏 1KB TXT 举报
本文档主要介绍了如何使用C语言来编写一个名为UART.h的库函数,该库包含一系列与串行通信相关的功能,适用于直接移植到嵌入式系统中。以下详细解释了这些函数的功能和用法:
1. **UART_Init()**:这是初始化UART(通用异步收发器)函数,用于设置串口通信模式。首先,通过设置PCON寄存器的SMOD位启用波特率发生器,将定时器工作方式设置为模式2,以便于精确控制波特率。然后,计算出在22.1184MHz晶振下,想要实现38400bps通信速率时的TH1和TL1寄存器值,并将其设置。接着配置SCON寄存器,使得串口工作在半双工模式(REN=1),并开启定时器1(TR1)。最后,启用中断服务请求(ES)和外部中断0(EA)。
2. **sio_int() interrupt4 using3**:这是一个中断服务程序,用于处理串口接收中断(通常由数据接收就绪标志RI触发)。当接收到数据时,它会临时禁用中断服务(ES=0),处理完数据后恢复中断。
3. **UART_Send_Byte(unsigned char mydata)**:此函数用于发送单个字节。它先禁用中断,将数据存储到串口缓冲区(SBUF),然后进入空闲等待状态直到接收到接收标志TI变为1,表示数据已发送成功,再重新启用中断服务。
4. **UART_Send_Enter()**:这是一个辅助函数,用于发送换行符('\n')和回车符('\r'),常用于输出字符串的结束。
5. **UART_Send_Str(char *s)**:这个函数接收一个字符指针,逐个字符地发送字符串,遇到换行符时调用UART_Send_Enter()发送换行,保持格式整齐。
6. **UART_Put_Num(unsigned long dat)**:这个函数用于将无符号长整型数据转换成字符串,并通过UART_Send_Str()发送,适合输出数字信息。
7. **UART_Put_Inf(char* inf, unsigned long dat)**:此函数首先发送一个字符串(如“Info:”),然后调用UART_Put_Num()将数据转换为字符串并添加到末尾,最后发送换行符,完成一条完整的信息输出。
这个UART.h库提供了串口通信的基本操作和格式化输出能力,方便嵌入式开发人员在需要进行串口通信的项目中快速集成和使用。通过调用这些函数,开发者可以简化串口编程,并确保数据的准确发送和接收。
2018-04-19 上传
2020-02-27 上传
2022-09-24 上传
2022-09-24 上传
2022-09-24 上传
2022-09-19 上传
2022-09-19 上传
2022-01-14 上传
banzhangkaka
- 粉丝: 0
- 资源: 1
最新资源
- CAD使用中可能碰到的49种小问题(1-33)
- oracle+SQL语法大全
- principles of model checking
- Java Persistence with Hibernate 2007(英文版)
- flex 和 java项目 整合.pdf
- 流行学习包含等距离映射和局部线性嵌入法
- ARCGIS二次开发实例教程
- zigbee在网络交流的应用
- ArcXML基于INTERNET的空间数据描述语言
- 黑盒测试教程(教你什么叫黑盒测试,系统测试)
- androd设计高级教程
- 交流信号真有效值数字测量方法
- 常用算法设计方法+搜集.doc
- Linux1.0核心游记
- eclips pdf 电子书
- oracle 游标入门