搜索
bottom↓
回复: 10

烧死单片机?

[复制链接]

出0入0汤圆

发表于 2012-11-27 10:41:22 | 显示全部楼层 |阅读模式
我在程序中如下写,
烧了一次之后就烧录不了,
int main()
{
        Init_MCU();       

                   Send_RS232_PC_Byte(0x01);
        Send_RS232_PC_Byte(0xa1);

        while(1){
          ;
        }
       
        return 0;
}

void INT0_PRG() interrupt 0         
{
        if (TH0 > 0x13){                         //开始
                IRByteCount = 0;         
                IRBitCount = 0;
                Send_RS232_PC_Byte(TH0);
        }else if(( TH0 < 0x10)&&(TH0 > 0x03)){
                 Send_RS232_PC_Byte(TH0);
               
            }
        }  
        TH0 = 0x00; //Clear Counter
        TL0 = 0x00;

}

重新换一个mcu(51核)就可以烧了,


现在有点疑惑,1,是不是我这样写上mcu不能再烧了,还是有其他原因,(程序应该还是在跑,因为我开启了外中断,并在外中断中打印数据到串口中,)
              2,以前只知道用烧录口的第二功能的话,烧一次下次这个烧录口就不能用了,

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2012-11-27 12:37:49 | 显示全部楼层
樓主沒說什麽MCU。

出0入0汤圆

发表于 2012-11-27 12:40:28 | 显示全部楼层
jjj206 发表于 2012-11-27 12:37
樓主沒說什麽MCU。

STC呗。。只有STC有这现象。
换个台式机带串口的试试。

出0入0汤圆

 楼主| 发表于 2012-11-27 14:22:34 | 显示全部楼层
realtek 的,

出0入85汤圆

发表于 2012-11-27 14:26:30 | 显示全部楼层
难道这段代码把bootloader给阉了?换个新的试试还会这样不

出0入0汤圆

发表于 2012-11-27 15:10:07 来自手机 | 显示全部楼层
单片机串口占用了!

出0入0汤圆

发表于 2012-11-27 15:15:17 | 显示全部楼层
不会吧,STC要断电,不是吗。

出0入0汤圆

 楼主| 发表于 2012-11-27 17:48:10 | 显示全部楼层
        if (TF0) TF0 = 0;

        if (TH0 > 0x13){
                Send_RS232_PC_Byte(TH0);
                IRByteCount = 0;         
                IRBitCount = 0;
               
        }else if(( TH0 < 0x10)&&(TH0 > 0x03)){
                Send_RS232_PC_Byte(TH0);        
               
                /*
                IRShift = IRShift >> 1;                             //右移一位,接收低电平在前
                if (TH0 > 0x07){
                    //Send_RS232_PC_Byte(TH0);
                    IRShift = IRShift | 0x80;         //检测电平时间超过0x0d就确定为 1                         或运算;只要有一个为1就为1
                }else{
                    //Send_RS232_PC_Byte(TH0);
                    IRShift = IRShift & 0x7f;          //参与运算的两个位都为1则为1       
                }

                IRBitCount++;
                if (IRBitCount == 7){                       
                        IRBuff[IRByteCount] = IRShift;
                        IRShift = 0;
                        IRByteCount++;                       
                        #if(_FLAG)
                        Send_RS232_PC_Byte(IRBuff[0]);
                        //Send_RS232_PC_Byte(0x01);
                        #endif
                }
                if(IRBitCount == 11){                            
                   IRBuff[IRByteCount] = IRShift;
                   IRShift = 0;
                   IRByteCount++;                          
                   #if(_FLAG)
                   Send_RS232_PC_Byte(IRBuff[1]);
                   //Send_RS232_PC_Byte(0x02);
                   #endif
                 
            }  */
        }
        TH0 = 0x00;
        TL0 = 0x00;  

确切地说是加了上面的代码mcu就烧不了,
是注式掉的那部分加上就不能烧录了,

出0入4汤圆

发表于 2012-11-27 17:56:27 | 显示全部楼层
STC单片机我受不了·····
降不住·····
资料头大····
运行不能准确预测结果····
我买了好几片都在那里放着····
楼主看你已经好几片不能用了,把我的几片也卖给你吧,便宜点

出0入0汤圆

发表于 2012-11-27 18:05:19 | 显示全部楼层
没有并行编程器编不了的吧? 你用并行的试试

出0入0汤圆

 楼主| 发表于 2012-11-28 09:16:03 | 显示全部楼层
谢谢LS的,
烧不了 我指下载不了新程序进去,也不能擦除以前的,
我用的不是STC,若按你的方法命令反过来的话,烧不了,
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-6 18:27

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表