找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1764|回复: 7
收起左侧

关于单片机下载口当做IO口后无法烧录的解决办法

[复制链接]
ID:675145 发表于 2020-3-17 11:26 | 显示全部楼层 |阅读模式
使用的单片机是STC15系列,把P3.0和P3.1用作霍尔开关检测口,第二次下载的时候就不能下载程序了,后来才想起来这两个口是下载口,问一下有没有办法解决。
回复

使用道具 举报

ID:675145 发表于 2020-3-17 13:26 | 显示全部楼层
其实霍尔还没接上,就烧了1次程序就不能再次烧录了。
回复

使用道具 举报

ID:267719 发表于 2020-3-17 13:30 | 显示全部楼层
先要看你霍尔电路才能看有没有办法。如果接入了较大电容,先试试下载波特率最低的烧录频率。
回复

使用道具 举报

ID:452950 发表于 2020-3-17 13:58 | 显示全部楼层
TXD,RXD要置1才能正常串口收发,你当作开关量检测的程序有没有将这两个口置0
回复

使用道具 举报

ID:675145 发表于 2020-3-17 14:19 | 显示全部楼层
carpcarey 发表于 2020-3-17 13:30
先要看你霍尔电路才能看有没有办法。如果接入了较大电容,先试试下载波特率最低的烧录频率。

霍尔电路还没接上,只是下载了程序,测量了一下P3.0和P3.1口,电压为4.4V
回复

使用道具 举报

ID:675145 发表于 2020-3-17 14:21 | 显示全部楼层
xxpp2011 发表于 2020-3-17 13:58
TXD,RXD要置1才能正常串口收发,你当作开关量检测的程序有没有将这两个口置0

霍尔开关还没接上,就下载了程序试了一下,测量了一下P3.0和P3.1口电压为4.4V,应该是没问题的
回复

使用道具 举报

ID:675145 发表于 2020-3-17 14:27 | 显示全部楼层
程序就下面这一段用到了P3
  1. if((P3!=0xff)||(P4!=0xff))//出现故障
  2. {
  3.         P0=Value1;
  4.         P2=Value2;
  5.         for(i=0;i<8;i++)
  6.         {
  7.                 if((Value1&0x01)==0)
  8.                 {
  9.                         Malfunction_Buffer[2][i]+=1;        //哪只霍尔出现故障,故障次数+1
  10.                         Num_Malfunction++;                                //总故障+1
  11.                 }
  12.                 if((Value2&0x01)==0)
  13.                 {
  14.                         Malfunction_Buffer[3][i]+=1;
  15.                         Num_Malfunction++;
  16.                 }
  17.                 Value1>>=1;
  18.                 Value2>>=1;
  19.         }
  20. }
复制代码
回复

使用道具 举报

ID:675145 发表于 2020-3-17 14:52 | 显示全部楼层
找到问题了,是我下载器的问题,接触不好了,又刚好下载完这个程序(太巧了,所以怀疑是借用IO口才出现的故障),在此谢谢大家的解答。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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