欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
程序在STC89C52RC單片機(jī)上不能運(yùn)行
[打印本頁(yè)]
作者:
asd9988775
時(shí)間:
2017-6-16 17:02
標(biāo)題:
程序在STC89C52RC單片機(jī)上不能運(yùn)行
用藍(lán)牙模塊通信,和開(kāi)發(fā)學(xué)習(xí)板。板子和單片機(jī)都沒(méi)有壞。燒錄也成功了。RXT對(duì)的單片機(jī)的RXT,TXD對(duì)單片機(jī)的TDXD.ER腳通了VCC的電。用KEil模擬仿真,手機(jī)可以的到Success.
可是換成RXD對(duì)單片機(jī)的RTXD.TXD對(duì)單片機(jī)的RXD.仿真也沒(méi)有數(shù)據(jù)是怎么回事?
剛自學(xué)。不知道那有問(wèn)題。求教各位大神
#include "reg52.h"
#include "intrins.h"
unsigned char SenData,Flag;
char code str1[]="Success";
char code str2[]="Error";
void send_str();
void InitUART(void);
void send_str2();
void delayms(unsigned char ms);
void send_char(unsigned char txd);
void InitUART(void)
{
/*******************設(shè)定串口**********************/
SCON=0x50; //設(shè)置為工作方式1
TMOD=0x20; //設(shè)置計(jì)數(shù)器工作方式2
PCON =0x80; //波特率加倍
TH1=0xFA; //計(jì)數(shù)器初始值設(shè)置,注意波特率是9600的
TL1=TH1;
ES=1; //打開(kāi)接收中斷
EA=1; //打開(kāi)總中斷
TR1=1; //打開(kāi)計(jì)數(shù)器
/******************設(shè)定中斷**********************/
}
void main() //主函數(shù)
{
InitUART();
while(1){
if(Flag==1)
{
ES = 0;
delayms(50);
//----------------------該段即對(duì)接收的數(shù)據(jù)進(jìn)行處理
if(SenData==97)//97為字符a的ascii
{
delayms(10);//延時(shí)去抖動(dòng)
send_str();//發(fā)送數(shù)據(jù)
}
else
{
delayms(10);
send_str2();
}
Flag=0;//數(shù)據(jù)處理完畢后將標(biāo)志位置0,表示沒(méi)有新數(shù)據(jù)要處理
}
ES = 1;
}
}
void ser_int()interrupt 4//接收字符串
{
if(RI==1)//RI接受中斷標(biāo)志
{
SenData = SBUF ;
RI=0;//清除標(biāo)志.
Flag =1;//標(biāo)志位置1表示有新數(shù)據(jù)進(jìn)來(lái)
}
else
TI = 0;
}
void send_str()//發(fā)送字串
{
unsigned char i=0;
while(str1[ i]!='\0')
{
SBUF =str1[ i];
while(!TI);//等待數(shù)據(jù)傳送
TI=0;//清除數(shù)據(jù)傳輸標(biāo)志
i++;//下一個(gè)字符串
}
}
void send_str2()//發(fā)送字串
{
unsigned char i=0;
while(str2[ i]!='\0')
{
SBUF =str2[ i];
while(!TI);//等待數(shù)據(jù)傳送
TI=0;//清除數(shù)據(jù)傳輸標(biāo)志
i++;//下一個(gè)字符串
}
}
void delayms( unsigned char ms)//延時(shí)子程序
{
unsigned char i;
while(ms--)
{
for(i=0;i<120;i++);
}
}
復(fù)制代碼
作者:
a0931727149
時(shí)間:
2017-6-17 11:02
最少這裡SBUF =str1;SBUF =str2;要改成 SBUF =str1[];SBUF =str2[i];
作者:
HC6800-ES-V2.0
時(shí)間:
2017-6-17 15:18
“用藍(lán)牙模塊通信,和開(kāi)發(fā)學(xué)習(xí)板。板子和單片機(jī)都沒(méi)有壞。燒錄也成功了。RXT對(duì)的單片機(jī)的RXT,TXD對(duì)單片機(jī)的TDXD.ER腳通了VCC的電。”
你說(shuō)的。程序我就不看了,因?yàn)檫@里錯(cuò)了啊:藍(lán)牙RXT是接收端,那么就應(yīng)該對(duì)應(yīng)單片機(jī)發(fā)送端TXD,同理,藍(lán)牙TXD發(fā)送端應(yīng)該對(duì)應(yīng)單片機(jī)接收端。
1.jpg
(9.77 KB, 下載次數(shù): 113)
下載附件
2017-6-17 15:18 上傳
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1