本帖最后由 51beginner 于 2021-2-28 21:05 編輯
一片對講機模塊,用串口助手發送AT+DMOVERQ,模塊返回版本信息,用單片機串口發送同樣的命令,對講機模塊沒有返回數據,通過串口助手查看這兩條命令的字符串,是一模一樣的,可結果不一樣。我要的結果是直接用單片機控制對講機模塊,而不是用電腦通過串口助手控制模塊,可是同樣的命令,結果卻不同,不知是電平問題還是程序問題,求大家給予指點。
#include<reg52.h>
// char code fs[]={"AT+DMOSETGROUP=0,409.7500,409.7500,02,3\r\n"} ;
unsigned char fs[]={"AT+DMOVERQ\r\n"};
unsigned int i,a,bz;
void csh() //串口初始化
{
TMOD=0X20;
TH1=0xfd;
TL1=0xfd;
TR1=1;
REN=1;
SM0=0;
SM1=1;
EA=1;
ES=1;
}
void main()
{
csh();
while(1)
{
if(bz==1)
{
ES=0;
for (i=0;i<13;i++)
{
SBUF=fs;
while(!TI);
TI=0;
}
ES=1;
bz=0;
}
}
}
void chk() interrupt 4
{
RI=0;
a=SBUF;
bz=1;
}
|