赞
踩
/*****************************************************************************
函数功能:单片机接收电脑串口发送的字符串
,
已验证正常
,
最大可接收
100
个字符
最近一直在研究这个串口接收字符串问题
,
也看了网上很多例子都不能实现
,
现在
终于将此程序调试成功
.
设计者
:
空心菜
联系
qq:190719416
修改时间
2016/07/15
下午
15:22
****************************************************************************/
#include
#define uint unsigned int
#define uchar unsigned char
#define Fclk 11059200UL
//
晶体频率
#define BitRate 9600UL
//
波特率
uchar
st[100];
//
保存串口数据的缓冲区数组
,
如果想接收更多的字符可创建多
个数组
volatile uchar Sending;
static uchar i=0;
uchar flag;
/****************************************************
函数功能:串口初始化
入口参数:无
返
回:无
备
注:无
*****************************************************/
void InitUART(void)
{
EA=0;
//
暂时关闭中断
TMOD&=0x0F;
//
定时器
1
模式控制在高
4
位
TMOD=0x20;
//
定时器
1
工作在模式
2
,自动重装模式
,
定时器
0
工作在模式
1,16
位定时
SCON=0x50;
//
串口工作在模式
1
TH1=256-Fclk/(BitRate*12*16);
//
给定时器装初值
TL1=256-Fclk/(BitRate*12*16);
PCON|=0x80;
//
串口波特率加倍
ES=1;
//
串行中断允许
TR1=1;
//
启动定时器
1
REN=1;
//
允许接收
EA=1;
//
允许中断
}
/*****************************************************
函数功能:串口中断处理
入口参数:无
返
回:无
备
注:无
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。