//*******************introduction******************************
/*下面程序主要目的是PC机向MCU发送一字符串,MCU把其中以0x55
开始以0xAA结束,连续少于五个的且中间无0x55、0xAA的字符串返回,
下面这段程序未完成若0xAA之前数大于五则这段字符不回传这个任务*/
//*************************************************************
#include <pic.h>
/////////////////////////////////////////////////
/*下面是对PIC状态字进行设置*/
__CONFIG(HS&UNPROTECT&PWRTDIS&BORDIS&WDTDIS&LVPDIS);
/////////////////////////////////////////////////
unsigned char data[10]; //接收与发送数据存取处
unsigned char in; //本次数据接收起始位置
unsigned char counter; //本次数据存储位置
unsigned char svnumber; //已存数据数
unsigned char renumber; //本次已接收数据个数
unsigned char out; //发送数的位置
unsigned char txendadd; //发送结束标志位
bit save; //数据接收状态标志位
bit send; //数据发送状态标志位
bit over; //存满一转标志位
/*下面一个函数是对各中断标志的设定*/
void initial()
{
TRISC=0x80; //RC端口RC6与RC7分别为输出与输入
TXSTA=0x24; //异步方式,高波特率,发送使能
SPBRG=0x19; //设定波特率为9600,系统时钟4MHZ
PIE1=0x30 ; //允许接收与发送中断
RCSTA=0x90; //设置连续接收数据
INTCON=0x00; //清除所有中断标志
INTCON=0xc0; //开总中断与外围设备中断
}
void main ()
{
initial();
TXREG=0;
save=0;
send=0;
in=0;
svnumber=0;
counter=0;
out=0;
while(1);
}
void interrupt uasrt(void)
{
if(RCIE&RCIF==1) //是接收中断
{
if(save==0) //未进入接收状态
{if(RCREG==0x55) //判是否为0x55
save=1; //是则进入接收态
} /**********以下是接收态***************/
uart.zip_rs232 0xAA
版权申诉
127 浏览量
2022-09-14
15:15:09
上传
评论
收藏 7KB ZIP 举报
alvarocfc
- 粉丝: 108
- 资源: 1万+
最新资源
- 基于SIFT特征点提取和RASIC算法实现全景图像拼接python源码+文档说明+界面截图+详细注释(95分以上课程大作业)
- 基于matlab实现眼部判别的疲劳检测系统+源代码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
- 基于Matlab的异常姿势识别系统+源代码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
- 隐藏文件展示工具,用来展示被病毒隐藏的文件
- 基于Matlab的图像分割系统+源代码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
- 基于MATLAB指纹门禁GUI设计源码+源代码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
- 基于Matlab的仪表指数识别系统霍夫曼变换+源代码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
- 基于MATLAB 的霍夫曼变换答题卡识别带GUI界面+源代码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
- 基于MATLAB 疲劳驾驶检测专识别GUI源码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
- 基于matlab的虫害侵蚀系统带Gui界面+源代码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
评论0