ahong 发表于 2024-1-7 21:29:53

修改官方ISP范例(USB模式)为中断方式报错

将官方STC8H8K64U系列用户ISP范例(USB模式)代码中的这一句void usb_isr() //interrupt USB_VECTOR注释去掉后改为void usb_isr() interrupt USB_VECTOR,出现报错如下:




*** WARNING L15: MULTIPLE CALL TO FUNCTION
    NAME:    _USB_WRITE_FIFO/USB
    CALLER1: USB_ISR/USB
    CALLER2: ?C_C51STARTUP


请教还需要修改什么地方?

ahong 发表于 2024-1-8 11:02:38

USB HID用中断方式应该怎么处理呢?
void usb_IN()根据其他范例改成下面这样,不报错了,会不会有什么隐患?

void usb_IN()
{
//    usb_write_reg(INDEX, 1);
//    while (usb_read_reg(INCSR1) & INIPRDY);
//    usb_bulk_intr_in(UsbInBuffer, 64, 1);
//    bUsbInBusy = 1;

        unsigned char i;
        while(bUsbInBusy);
        IE2 &= ~EUSB;
        bUsbInBusy = 1;
        usb_write_reg(INDEX, 1);
        for (i=0; i<64; i++)
        {
               usb_write_reg(FIFO1, UsbInBuffer);
        }
        usb_write_reg(INCSR1, INIPRDY);
        IE2 |= EUSB;
}

ahong 发表于 2024-1-8 19:32:03

哪位大佬帮忙看看二楼这样改对不对,是否有更好的方法
页: [1]
查看完整版本: 修改官方ISP范例(USB模式)为中断方式报错