串口中断处理 m=SBUF; SBUF=m;自收发
volatile uint8 Sending;/********************************************************************
函数功能:串口初始化。
入口参数:无。
返 回:无。
备 注:无。
********************************************************************/
void InitUART(void)
{EA=0; //暂时关闭中断TMOD&=0x0F; //定时器1模式控制在高4位TMOD|=0x20; //定时器1工作在模式2,自动重装模式SCON=0x50; //串口工作在模式1TH1=256-Fclk/(BitRate*12*16); //计算定时器重装值TL1=256-Fclk/(BitRate*12*16);PCON|=0x80; //串口波特率加倍ES=1; //串行中断允许TR1=1; //启动定时器1REN=1; //允许接收 EA=1; //允许中断
}
End of function///********************************************************************
函数功能:串口中断处理。
入口参数:无。
返 回:无。
备 注:无。
********************************************************************/
void UartISR(void) interrupt 4
{char m;ES = 0;if(RI) //收到数据{m=SBUF;SBUF=m;RI=0; //清中断请求}else //发送完一字节数据{TI=0;Sending=0; //清正在发送标志}ES = 1;
}
End of function///********************************************************************
函数功能:往串口发送一字节数据。
入口参数:d: 要发送的字节数据。
返 回:无。
备 注:无。
********************************************************************/
void UartPutChar(uint8 d)
{SBUF=d; //将数据写入到串口缓冲Sending=1; //设置发送标志while(Sending); //等待发送完毕
}
End of function///********************************************************************
函数功能:发送一个字符串。
入口参数:pd:要发送的字符串指针。
返 回:无。
备 注:无。
********************************************************************/
void Prints(uint8 * pd)
{while((*pd)!='\0') //发送字符串,直到遇到0才结束{UartPutChar(*pd); //发送一个字符pd++; //移动到下一个字符}
}
End of function//
串口中断处理 m=SBUF; SBUF=m;自收发相关推荐
- cc2530入门 与串口中断处理
注:转载请注明出处. 做毕业设计的时候用到了cc2530开发板,用协议栈编程实现智能家居的功能.现在总结一下: 先从Z_Stack的main()函数开始. main函数在ZMain.c中,总体来说,它 ...
- Arduino中Serial.print()与Serial.write()函数的区别,以及串口通信中十六进制与字符串的收发格式问题和转换过程详解
1.串口通信中十六进制和字符数据的区别 串口收发数据时字符.十六进制.二进制格式详细区分 ASCII码查询表格 在使用串口发送数据时可以选择字符串(ASCII)发送或者十六进制(Hex)发送,通常情况 ...
- 【DSP】TMS320F28035串口SCI不定长字节数据FIFO收发,数据帧格式:0XFD(帧头)+数据+0XFC 0XFD(帧尾)
/**********************************************************************************自定义串口接收协议,单字节接收中断 ...
- 串口通信(SBUF代码原理详解)
这里写目录标题 基本概念 读取数据手册 串口中断 代码讲解 基本概念 前言: 时钟对于单片机来说是非常重要的,它能为单片机提供一个稳定的机器周期从而使系统能够正常工作.它就像我们人类的心脏一样重要,一 ...
- SBUF, TI/RI, ES
寒假过去一半了,这两天重新开始学习.这里来个小结,51单片机的一些关于串口通信的寄存器/锁存器. 首先放上一段代码,来自郭天祥的51单片机教程 功能是:向单片机发送一个字符(比如e),然后单片机返回字 ...
- c语言接收串口数据信息,C51通用串口收发数据C语言程序
#include //C51通用串口收发数据C语言程序模块 #define uchar unsigned char #define uint unsigned int uchar shu; bit ...
- SBUF数据缓冲寄存器
SBUF 数据缓冲寄存器 这是一个可以直接寻址的 串行口 专用 寄存器 .有朋友这样问起过"为何在 串行口 收发中,都只是使用到同一个寄存器 SBUF ?而不是收发各用一个寄存器." ...
- STM32CubeMX系列教程8:配置工程模板(串口+不定长数据收发+DMA+IDLE中断+软中断)
文章目录 摘要 生成工程 配置外设 1.配置时钟与Debug 2.配置串口与DMA 3.配置定时器与中断 配置时钟树 配置工程设置 点击`GENERATE CODE`生成工程 修改源码 配置软中断 配 ...
- Matlab显示串口收发的中文数据
最近用Matlab通过串口与STM32单片机通讯.在收发中文时,Matlab打印输出发生译码错误,显示的是扩展ASCII字符,而不是中文.在本文中讨论了Matlab串口通讯时,中文变乱码的原因,并实现 ...
最新文章
- 时间控件之赋值问题:datetimebox
- flask 实现异步非阻塞----gevent
- 批量读入一个文件夹中文件的数据操作实例
- python datetime
- 敏捷BI的业务模型是怎样的,为何能替代手动建模?
- 【BZOJ3289】Mato的文件管理,莫队+树状数组
- 在SQL Server中使用sp_WhoIsActive监视活动
- UIImageView 与 UIImage 区别
- 对阵Flash 实战HTML 5技巧之页面设计
- java array使用_Java_ArrayLit详细用法
- nginx 的基本配置
- P2P技术体系结构与分类
- 基于web的网上书城网站设计与实现(SpringBoot ,Vue,MySQL )
- 去掉office标题前的黑点
- Roguelike到底是啥?讲讲和Roguelike 相关知识(搬运)
- 记-----租房七大注意事项
- 交换机vtp功能配置
- Python 实现英文新闻摘要自动提取 1
- 大话西游2同一个账号同一个服务器,大话西游2:服务器合并你是否支持?老玩家告诉你合服后的影响!...
- html页面酒店日历插件,基于vue2.x的酒店日历选择插件
热门文章
- 科大讯飞AI营销大赛 CTR预估总结
- 微信开发者工具:代码更新后页面未刷新
- linux桌面图标恢复,恢复Linux桌面下方面板上显示最小化的图标的方法
- 笔记(四)Home Assistant添加小米设备
- Hyperledger Avalon启动笔记
- 联想拯救者Y7000P鼠标卡顿问题(已解决)
- 山西大同大学计算机分数线,山西大同大学录取分数线2021是多少分(附历年录取分数线)...
- Mac:TexStudio 首行缩进
- 通达信玩转庄家追击反转指标源码,带MACD顶背离底背离,不错。
- SAN存储的局限性相关介绍