这样你每接受一个字符,如:strtempFormat("%X",bt); 就把这个字符串的没一位转换成十进制,然后,把第一个十进制左移4位,然后加上后一个十进制数字,得出的结果也就是你要的数字,这个方法我测试过,一定行的
注意:你这个for(k=0;k<len;k++) 循环,每循环一次就接收一个字符,你只要每接收一个字符后,按我上面的方法转换,得到的值就一顶是你相应16进制转换成10进制的值,哈哈哈哈
uchar
idata
SystemBuf[10];
//用于接收
uchar
Rx=0;
//
接收数据
条数
uchar
code
AT[]="YES,IT
IS";
void
UART_init
(void)
{
TMOD=0x20;
//用定时器1
PCON=0x00;
//
波特率
不加倍
SCON=0x50;
//串行方式1
TH1=0xFD;
//9600
TL1=0xFD;
//
EA=1;
//
ES=1;
//
TR1
=1;
}
void
sendchar(uchar
ch)
//串口送一个字节
{
SBUF=ch;
while(TI==0);
TI=0;
}
void
sendstring(uchar
p)
//送字符串
{
while(p)
{
sendchar(p);
p++;
}
}
///////
void
receive(void)
interrupt
4
using
1
//中断
{
if(RI)
{
if(Rx<10)
//这儿最多收10个字节
{
SystemBuf[Rx]=SBUF;
Rx++;
}
RI=0;
}
}
///
void
main()
{
uchar
i;
UART_init();
while(1)
{
if(SystemBuf=='S')
{
sendstring(AT);
for(i=0;i<10;i++)
//接收清0
{
SystemBuf[i]=0;
}
Rx=0;
}
}
}
//////////如有小错误,自己调下,手打的,大小写可能不正常,这是标准程序,直接用,
显然,先要有线路,然后再谈调试电脑串口===RS232/RS422===422线路===RS422/RS232==电脑串口2端电脑上用串口调试助手相互发送数据,看对方能否正确收到请看武汉鸿伟光电E485BRS232/RS485有源隔离转换器E485CRS232/RS485/RS422无源转换器E485DRS232/RS485/RS422有源隔离转换器
以上就是关于关于串口调试助手VC源程序及详细编程过程全部的内容,包括:关于串口调试助手VC源程序及详细编程过程、用单片机串口向电脑串口调试助手发送一个字符串,用C语言编程、如何用串口调试助手调试串口程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)