Alvin007 发表于 2011-7-6 12:30:26

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?

marshallemon 发表于 2011-7-6 12:46:14

断电,点下载,上电

yanxiao1227 发表于 2011-7-6 12:52:53

这个应该是你操作问题吧,这明显不是芯片本身的。

bootloader程序和你的main不在一块都。

Alvin007 发表于 2011-7-6 13:41:49

按理说是的
但是我操作的顺序肯定没问题
ISP软件的下载配置也没有任何修改
换上新的单片机下载有问题程序,第一次可以
然后就不行了

vipcff 发表于 2011-7-6 14:06:48

1楼正解

rkfch 发表于 2011-7-6 14:23:11

你使用中断发送数据,但是没有看到你的中断程序,你起码要在中断程序中清零TI嘛!

gongnn 发表于 2011-7-6 15:11:46

还有注意下载时的P1.0 P1.1选项

electron_love 发表于 2011-7-6 15:25:27

看楼主的积分 也不至于这么浮躁吧

Alvin007 发表于 2011-7-6 15:39:48

回复【5楼】rkfch傅成洪
你使用中断发送数据,但是没有看到你的中断程序,你起码要在中断程序中清零ti嘛!
-----------------------------------------------------------------------

程序应该是有问题的,这个我清楚,因为还在调试过程中

但是现在的问题是 这个“有问题”的程序下进单片机之后 无法ISP了

Alvin007 发表于 2011-7-6 16:49:43

回复【7楼】electron_love
看楼主的积分 也不至于这么浮躁吧
-----------------------------------------------------------------------

请看清楚问题再做评论
是否敢试试?
页: [1]
查看完整版本: STC11F01的一个硬件BUG?