单片机串口接串口助手 小弟我只想发送一个字符 结果一按复位发了很长一串 都是同一个字符 代码如下
单片机串口接串口助手 我只想发送一个字符 结果一按复位发了很长一串 都是同一个字符 代码如下#includere
单片机串口接串口助手 我只想发送一个字符 结果一按复位发了很长一串 都是同一个字符 代码如下
#include<reg52.h>
void init()//初始化参数
{
//定时、串口初始化
TMOD=0x20;//T1工作于方式2自动重装
TH1=0xff;
TH0=0xff;//波特率为57600晶振为11.0592M
TR1=1;//启动T1
SM0=0;
SM1=1;//工作方式1
PCON=0X80;//波特率翻倍
REN=1;//允许串口接收
EA=1;//开总中断
ES=1;//开串口中断
}
void main()
{
init();
ES=0;
SBUF=0x31;
while(!TI)
TI=0;
ES=1;
}
经询问说main函数中改为
void main()
{
init();
ES=0;
SBUF=0x31;
while(!TI)
TI=0;
while(1)
{
}
}
经验证,成功了 但是不明白删除ES=1和增加while(1)两个条件的原因 求讲解 单片机 串口
[解决办法]ES=1那个不是什么很致命的问题
关键是那个while(1),因为单片机没有关机指令,所以必须要一个死循环,否则PC指针一直向下走然后单片机就疯了
[解决办法]while(1)是单片机很重要的语句啊。。没有的话不行的
[解决办法]1 ES=1 开中断了 但是没有中断服务程序, 程序可能跑飞了
2 有看门狗么? 没喂狗,程序在返回复位中 ?