您当前的位置:五五电子网电子知识单片机-工控设备STC单片机(利用宏晶科技的IAP单片机开发自己的ISP程序 正文
利用宏晶科技的IAP单片机开发自己的ISP程序

利用宏晶科技的IAP单片机开发自己的ISP程序

点击数:7381 次   录入时间:03-04 11:58:30   整理:http://www.55dianzi.com   STC单片机(
            {    com_buf[ci] = com_getch();
                cr += com_buf[ci];
            }
            if(cr) com_putch(5);        /* 返回错误标志 */
            else if((com_buf[0]==’W’)&&(com_buf[1]==0)&&(cj>4))    /* 写程序 */
            {    cj -= 4;
                f_prg(cj);        /* 写程序 */
            }
            else if((com_buf[0]==’E’)&&(com_buf[1]==0)&&(cj>4)&&(cj<=36))    /* 写E2PROM数据 */
            {    ui = ((unsigned int*)com_buf)[1]&0x3ff;
                cj -= 4;
                for(ci=0;ci<cj;ci++)
                {    if((ui+ci)<1024)
                    {    xbuf[ui+ci]=com_buf[ci+4];
                        eewid=1;
                    }
                    else break;
                }
                if(ci>=cj) com_putch(6);    /* 返回正确标志 */
                else com_putch(5);        /* 返回错误标志 */ 
            }
            else if((com_buf[0]==’R’)&&(com_buf[1]>0)&&(com_buf[1]<=32)&&(cj==4))    /* 读E2PROM数据 */
            {    ui = ((unsigned int*)com_buf)[1]&0x3ff;
                cj = com_buf[1];
                com_putch(6);            /* 返回正确标志 */
                cr=0;
                for(ci=0;ci<cj;ci++)
                {    com_putch(xbuf[(ui+ci)&0x3ff]);
                    cr=cr + xbuf[(ui+ci)&0x3ff];
                }
                cr = 0 - cr;
                com_putch(cr);            /* 发送效验和 */
            }
            else if(com_buf[0]==’C’)
            {    for(nAddress=0;nAddress<=FPRG_END;nAddress+=0x200)    /* 程序区512字节1扇区 */
                { sector_erase(nAddress); }                /* 擦除器件用户程序区 */
                if(iap_error) com_putch(5);    /* 返回错误标志 */
                else com_putch(6);        /* 返回正确标志 */
            }
            else if(com_buf[0]==’U’)
            {    if(eewid)
                {    sector_erase(FDAT_ADR);
                    sector_erase(FDAT_ADR+0x200);
                    for(ui=0;ui<1024;ui++) byte_program(FDAT_ADR+ui,xbuf[ui]);
                }
                com_putch(6);            /* 返回正确标志 */
                reset_from_ISP_to_AP();        /* 跳转到用户程序运行 */
            }
            else com_putch(5);        /* 返回错误标志 */
        }
        else com_putch(5);        /* 返回错误标志 */
    }
    ci = com_getch();
  }
}

/*===================================================================================================*/

/**************************************************************************

上一页  [1] [2] [3] [4]  下一页


本文关键字:单片机  程序  开发  STC单片机(单片机-工控设备 - STC单片机(

《利用宏晶科技的IAP单片机开发自己的ISP程序》相关文章>>>