jacksonjim 发表于 2023-6-2 16:31:58

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

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


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

晓奇 发表于 2023-6-3 14:25:01

跟串口定位一样,把putchar函数输出改做写入hid缓存就可以了
char putchar(char c)
{
//        UartSend( c );
        TxBuffer = c;
//        Busy_Computer =0;
        return c;
}

jjy163 发表于 2023-8-1 22:31:14

int printf_hid (const char *fmt, ...)
{
    va_list va;
    int ret;

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

    usb_IN();

    return ret;
}

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

    usb_IN();
}

jacksonjim 发表于 2023-8-23 14:26:47

jjy163 发表于 2023-8-1 22:31
int printf_hid (const char *fmt, ...)
{
    va_list va;


谢谢,有时间试试,{:handshake:}
页: [1]
查看完整版本: STC32G USB-HID 不使用官方的lib下如何输出printf