找回密码
 立即注册
查看: 248|回复: 2

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

[复制链接]
  • TA的每日心情
    慵懒
    2023-12-2 09:55
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    14

    主题

    77

    回帖

    616

    积分

    高级会员

    积分
    616
    发表于 2024-1-7 21:29:53 | 显示全部楼层 |阅读模式
    将官方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


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

    回复 送花

    使用道具 举报

  • TA的每日心情
    慵懒
    2023-12-2 09:55
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    14

    主题

    77

    回帖

    616

    积分

    高级会员

    积分
    616
     楼主| 发表于 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[i]);
            }
            usb_write_reg(INCSR1, INIPRDY);
            IE2 |= EUSB;
    }
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    慵懒
    2023-12-2 09:55
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    14

    主题

    77

    回帖

    616

    积分

    高级会员

    积分
    616
     楼主| 发表于 2024-1-8 19:32:03 | 显示全部楼层
    哪位大佬帮忙看看二楼这样改对不对,是否有更好的方法
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-5-20 04:15 , Processed in 0.055689 second(s), 36 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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