找回密码
 立即注册
查看: 501|回复: 3

STC32G USB-HID 不使用官方的lib下如何输出printf

[复制链接]
  • TA的每日心情
    慵懒
    2024-4-16 10:25
  • 签到天数: 31 天

    [LV.5]常住居民I

    8

    主题

    31

    回帖

    282

    积分

    中级会员

    积分
    282
    发表于 2023-6-2 16:31:58 | 显示全部楼层 |阅读模式
    STC32G USB-HID 不使用官方的lib下如何输出printf


    因为使用一些定制的usb hid 不能使用官方的usb-hid 库,现在想写一个重定向printf函数,有没有参考示例,另外也没有官网的usb-hid库的源码所以不能查看lib中的实现方式,uart 重定向是比较简单, 但不适用于usb hid输出
    回复 送花

    使用道具 举报

    该用户从未签到

    3

    主题

    51

    回帖

    473

    积分

    中级会员

    积分
    473
    发表于 2023-6-3 14:25:01 | 显示全部楼层
    跟串口定位一样,把putchar函数输出改做写入hid缓存就可以了
    char putchar(char c)
    {
    //        UartSend( c );
            TxBuffer[printfTestPtr++] = c;
    //        Busy_Computer =0;
            return c;
    }
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    0

    主题

    4

    回帖

    42

    积分

    新手上路

    积分
    42
    发表于 2023-8-1 22:31:14 | 显示全部楼层
    int printf_hid (const char *fmt, ...)
    {
        va_list va;
        int ret;

        va_start(va, fmt);
        ret = vsprintf(&UsbInBuffer[0], fmt, va) + 8;
        va_end(va);

        usb_IN();

        return ret;
    }

    void USB_SendData(BYTE *dat, int size)
    {
        if (size > 64) size = 64;
        memcpy(&UsbInBuffer[0], dat, size);

        usb_IN();
    }
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-4-16 10:25
  • 签到天数: 31 天

    [LV.5]常住居民I

    8

    主题

    31

    回帖

    282

    积分

    中级会员

    积分
    282
     楼主| 发表于 2023-8-23 14:26:47 | 显示全部楼层
    jjy163 发表于 2023-8-1 22:31
    int printf_hid (const char *fmt, ...)
    {
        va_list va;

    谢谢,有时间试试,
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-5-29 06:24 , Processed in 0.059608 second(s), 41 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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