本帖最后由 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;
}
|