lezjin 发表于 2024-5-19 10:31:56

STC8H试验箱不停电下载卡在USB时钟WHILE循环

#include "../STC8H.h"
#include "../delay.h"
#include "./COMM/usb.h"

//USB调试及复位所需定义
char *USER_DEVICEDESC = NULL;
char *USER_PRODUCTDESC = NULL;
char *USER_STCISPCMD = "@STCISP#";                      //设置自动复位到ISP区的用户接口命令

void main(void)
{
    unsigned char i;
    P6M0 = 0x00; P6M1 = 0x00;
    P4M0 = 0x00; P4M1 = 0x00;
    P40 = 0;
    //USB调试及复位所需代码-----
    P3M0 &= ~0x03;
    P3M1 |= 0x03;
    IRC48MCR = 0x80;
    while (!(IRC48MCR & 0x01));
    usb_init();
    EA = 1;

    while(1)
    {
       for(i = 0; i<8; i++)
       {
         P6 = ~(0x01 << i);
         delay_ms(200);
       }
    }
}


lezjin 发表于 2024-5-19 10:33:20

参考手册上的代码添加
//USB调试及复位所需定义
char *USER_DEVICEDESC = NULL;
char *USER_PRODUCTDESC = NULL;
char *USER_STCISPCMD = "@STCISP#";                      //设置自动复位到ISP区的用户接口命令

    //USB调试及复位所需代码-----
    P3M0 &= ~0x03;
    P3M1 |= 0x03;
    IRC48MCR = 0x80;
    while (!(IRC48MCR & 0x01));
    usb_init();
    EA = 1;


下载后程序不允许,仿真查看是卡在WHILE循环,请教下这个是什么原因

soma 发表于 2024-5-19 10:46:17

肯定卡P6流水灯里面啊,开中断当P3.2按下时中断运行不断电下载。

lezjin 发表于 2024-5-19 11:00:42

soma 发表于 2024-5-19 10:46
肯定卡P6流水灯里面啊,开中断当P3.2按下时中断运行不断电下载。

    while (!(IRC48MCR & 0x01));
是卡在这一行,程序不往下走、
页: [1]
查看完整版本: STC8H试验箱不停电下载卡在USB时钟WHILE循环