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(); //调用延时函数
}
}
大小就78byte啊, 换个有晶振的USB转串口模块,另外是否使用了劣质杜邦线,接触不良也会导致下载失败,因为握手和擦除的操作指令比较短,对于波特率不准的情况能够容忍,但下载数据是连续发送的,对波特率和连接质量要求就高了。 晓飛飛 发表于 2024-10-23 23:17
换个有晶振的USB转串口模块,另外是否使用了劣质杜邦线,接触不良也会导致下载失败,因为握手和擦除的操作 ...
感谢您的回答,确认通讯正常,我用汇编写的同样的点灯程序都是可以正常下载的,只是用C写的HEX文件就不行。 soma 发表于 2024-10-23 23:17
大小就78byte啊,
是的,按理说文件上面编译后文件不会太大,感觉是生成的HEX文件照成的,但是有说不出具体问题。 感觉就是mdk5输出的hex文件问题,这个文件开头与结尾,中间很多的填充的FF,感觉就不正常。 工程设置有问题,code区起始地址不对 我自己遇到这问题,都是因为线太长,线的质量一般,还有就是自制的下载器设计不合理。
所以每次要下载,只能降低波特率。
用官方的下载器,效果棒棒的。
我用你的c 代码重新生成了一个项目,你试试能不能下载
页:
[1]
2