4449|4

7

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

stc12c5a60s2串口2使用独立波特率通讯 [复制链接]

#include
#include
void GetString(unsigned char string[],unsigned char n);
unsigned char GetByte(void);
void Delay1000ms();
void UartInit(void);
void SentString(unsigned char string[],unsigned char n);
unsigned char xdata string[20];
#define S2RI 0x01
#define S2TI 0x02
int main()
{
UartInit();
SentString("start.......A",20);
while(1)
{
  GetString(string,20);
  Delay1000ms();
  SentString(string,20);
}
}

void Delay1000ms()  [url=]//@11.0592MHz[/url]
{
unsigned char i, j, k;
_nop_();
_nop_();
i = 43;
j = 6;
k = 203;
do
{
  do
  {
   while (--k);
  } while (--j);
} while (--i);
}

void UartInit(void)  
{
AUXR &= 0xF7;  
S2CON = 0x50;  
AUXR &= 0xFB;  
BRT = 0xFD;  
AUXR |= 0x10;
EA = 1;
IE2 = 0x01;
}
void SentString(unsigned char str[],unsigned char n)
{
unsigned char i = 0;
while(i < n)
{
  S2BUF = str;
  i++;
  while(!(S2CON & S2TI));
  if(str == 'A')  
  break;  
}
}
unsigned char GetByte(void)
{
unsigned char c;
while(!(S2CON & S2RI));
c = S2BUF;
return c;
}
void GetString(unsigned char str[],unsigned char n)
{
unsigned char i = 0;
while(i < n)
{
  str = GetByte();  
  if(str == 'A')
  {
   break;
  }
  i++;
}
}
void UART_2Interrupt(void) interrupt 8
{
if(S2CON & S2RI)
{
  S2CON &= ~S2RI;
}
if(S2CON & S2TI)
{
  S2CON &= ~S2TI;
}
}
,串口调试,上电后,能够正常发出start。。。。,但是发送数据会丢失,求解
此帖出自单片机论坛

最新回复

觉得可能还是时序问题。 可能是接收部分,或者是while这一部分  详情 回复 发表于 2015-8-18 14:48
点赞 关注
个人签名以动物的本性为基础,以人类的法律为准则,洗净统治者洗脑的残渣,保护好每一秒的自己,追求心中想要的幸福
 

回复
举报

7

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
在线急求,小弟跪谢了
此帖出自单片机论坛
 
个人签名以动物的本性为基础,以人类的法律为准则,洗净统治者洗脑的残渣,保护好每一秒的自己,追求心中想要的幸福
 

回复

2886

帖子

0

TA的资源

五彩晶圆(初级)

板凳
 
觉得可能还是时序问题。
可能是接收部分,或者是while这一部分
此帖出自单片机论坛
 
个人签名昵称:灰小子
 
 

回复

7

帖子

0

TA的资源

一粒金砂(初级)

4
 
同样的方法串口1调的通,串口2用独立波特率,什么都没改啊,为什么这样。发送完整,收发丢失数据
此帖出自单片机论坛
 
个人签名以动物的本性为基础,以人类的法律为准则,洗净统治者洗脑的残渣,保护好每一秒的自己,追求心中想要的幸福
 
 

回复

7

帖子

0

TA的资源

一粒金砂(初级)

5
 
exiao 发表于 2015-8-18 14:48
觉得可能还是时序问题。
可能是接收部分,或者是while这一部分

串口1同样的程序可以调通,到串口2就不行了。
此帖出自单片机论坛
 
个人签名以动物的本性为基础,以人类的法律为准则,洗净统治者洗脑的残渣,保护好每一秒的自己,追求心中想要的幸福
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表