STC11F01的一个硬件BUG?
调试STC的程序,想用串口向电脑打引信息中间程序调试有点问题,代码如下:
void Uart_Init(void)
{
SCON = 0x40;
//SCON -> -> 0:1模式1,8位串口通信,波特率可变
BRT= 219;//波特率为9600
PCON = 0x30;
AUXR1 &= ~0x80;//串口选择为P3口应该是这个地方的错误,请大家注意!!!
ES = 1;//允许中断接收
EA = 1;//全局中断允许
REN = 1;//允许串行接收
}
void Uart_Send(unsigned char i)
{
ES=0; //关串口中断
TI=0; //清零串口发送完成中断标志
SBUF = i;
while(TI==0); //等待发送完成
TI=0;
ES=1; //允许串口中断
}
main里调用Uart_Send向主机发送数据
惨剧发生了:单片机ISP无法连接了,无法下程序!
换个单片机,下载错误程序之后,再次无法连接
注释掉main中的Uart_Send,没有问题了。。。
不知道这是不是单片机的一个硬件BUG? 断电,点下载,上电 这个应该是你操作问题吧,这明显不是芯片本身的。
bootloader程序和你的main不在一块都。 按理说是的
但是我操作的顺序肯定没问题
ISP软件的下载配置也没有任何修改
换上新的单片机下载有问题程序,第一次可以
然后就不行了 1楼正解 你使用中断发送数据,但是没有看到你的中断程序,你起码要在中断程序中清零TI嘛! 还有注意下载时的P1.0 P1.1选项 看楼主的积分 也不至于这么浮躁吧 回复【5楼】rkfch傅成洪
你使用中断发送数据,但是没有看到你的中断程序,你起码要在中断程序中清零ti嘛!
-----------------------------------------------------------------------
程序应该是有问题的,这个我清楚,因为还在调试过程中
但是现在的问题是 这个“有问题”的程序下进单片机之后 无法ISP了 回复【7楼】electron_love
看楼主的积分 也不至于这么浮躁吧
-----------------------------------------------------------------------
请看清楚问题再做评论
是否敢试试?
页:
[1]