cdlongbo 发表于 2024-10-23 23:01:45

isp能握手、擦除,下载代码出现通讯超时。

MDK5工程用的是STC89C52RC

简单的IO口点灯,生成 的HEX文件下载不到单片机;
单片机isp平台能握手、擦除,(排除串口通讯问题)但是在下载代码出现通讯超时。
本人详细对比了感觉问题出现在HEX文件上,简单的点灯程序居然HEX文件要占用0x84F(2127Byte)这么大!
麻烦大家帮我看一下是不是MDK5设置有问题,MDK5我只设置过MCU型号与输出HEX文件选项,其余没有设置过;


#include<reg51.h>   //包含单片机寄存器的头文件
/****************************************
函数功能:延时一段时间
****************************************/

void delay(void)
   {
          unsigned char i,j;
           for(i=0;i<250;i++)
               for(j=0;j<250;j++)                  
                   ;
          }
/*******************************************************
函数功能:主函数
********************************************************/
void main(void)
{
   while(1)
          {
                   P1=0xfe;   //第一个灯亮
                       delay();   //调用延时函数
                       P1=0xfd;   //第二个灯亮
                       delay();   //调用延时函数
                        P1=0xfb;   //第三个灯亮
                       delay();   //调用延时函数
                        P1=0xf7;   //第四个灯亮
                       delay();   //调用延时函数
                        P1=0xef;   //第五个灯亮
                           delay();   //调用延时函数
                        P1=0xdf;   //第六个灯亮
                       delay();   //调用延时函数
                        P1=0xbf;   //第七个灯亮
                        delay();   //调用延时函数
                        P1=0x7f;   //第八个灯亮
                        delay();   //调用延时函数
       }

}

soma 发表于 2024-10-23 23:17:16

大小就78byte啊,

晓飛飛 发表于 2024-10-23 23:17:54

换个有晶振的USB转串口模块,另外是否使用了劣质杜邦线,接触不良也会导致下载失败,因为握手和擦除的操作指令比较短,对于波特率不准的情况能够容忍,但下载数据是连续发送的,对波特率和连接质量要求就高了。

cdlongbo 发表于 2024-10-23 23:23:47

晓飛飛 发表于 2024-10-23 23:17
换个有晶振的USB转串口模块,另外是否使用了劣质杜邦线,接触不良也会导致下载失败,因为握手和擦除的操作 ...

感谢您的回答,确认通讯正常,我用汇编写的同样的点灯程序都是可以正常下载的,只是用C写的HEX文件就不行。

cdlongbo 发表于 2024-10-23 23:24:58

soma 发表于 2024-10-23 23:17
大小就78byte啊,

是的,按理说文件上面编译后文件不会太大,感觉是生成的HEX文件照成的,但是有说不出具体问题。

cdlongbo 发表于 2024-10-23 23:26:55

感觉就是mdk5输出的hex文件问题,这个文件开头与结尾,中间很多的填充的FF,感觉就不正常。

DebugLab 发表于 2024-10-23 23:33:16

工程设置有问题,code区起始地址不对

xxkj2010 发表于 2024-10-24 08:07:11

我自己遇到这问题,都是因为线太长,线的质量一般,还有就是自制的下载器设计不合理。
所以每次要下载,只能降低波特率。
用官方的下载器,效果棒棒的。

yefeng 发表于 2024-10-24 11:12:05

我用你的c 代码重新生成了一个项目,你试试能不能下载

神农鼎 发表于 2024-10-24 13:27:56












页: [1] 2
查看完整版本: isp能握手、擦除,下载代码出现通讯超时。