标题: 单片机程序发送01~09数字给计算机串口助手,打开电源或重启都可以,为何关闭开发板... [打印本页]

作者: 33943417    时间: 2021-3-14 08:40
标题: 单片机程序发送01~09数字给计算机串口助手,打开电源或重启都可以,为何关闭开发板...
单片机程序如下,延迟程序省略,程序发送01~09数字给计算机串口助手,打开开发板电源或重启开发板都可以,为何关闭开发板会时发送一个00到串口助手??
void main(void)
{
unsigned char i;
unsigned char a[]={1,2,3,4,5,6,7,8,9};
SCON=0X40;//
TMOD=0X20;//
TH1=0xfd;//@11.0592MHz,
TL1=0xfd;//
delay();
TR1=1;//
for(i=0;i<8;i++)
{SBUF=a[ i];
while(TI==0);
TI=0;
}
while(1);
}

作者: 人人学会单片机    时间: 2021-3-14 11:28
下面两个都是串口
串口1打印程序 可以打印3个十六位的变量 波特率9600 http://www.51hei.com/bbs/dpj-201660-1.html

串口发送 不需要while死等 串口接收执行软件复位 http://www.51hei.com/bbs/dpj-200927-1.html
作者: zhangxiaozi    时间: 2021-3-15 00:01
这很正常的,当你关闭开发板电源时,所有的IO口都变成低电平,等于你发送了低电平0了,这主要决定与串口调速器的,如果它做的不好就会判断接受了0,串口做的好的会,就会判断是无效数据不显示了,换个串口调试器试试

作者: munuc_w    时间: 2021-3-16 08:51
开发板关闭电源后,由于电容的储能,电压衰减需要一段时间,这段时间电压不稳,单片机工作状态不确定,端口状态也就不确定,发送的数都是随机的。
作者: yzwzfyz    时间: 2021-3-16 16:08
已无电源,就没有必要谈逻辑了。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1