购买链接: https://item.taobao.com/item.htm?id=577885964488
编程软件下载: https://pan.baidu.com/s/1igA4lkOgEJZL1uj-6NkABQ
参考链接: https://whycan.cn/t_2121.html
CH55X固件烧录软件: http://www.wch.cn/downloads/WCHISPTool_Setup_exe.html
驱动安装方式: https://whycan.cn/t_444.html
下载: zadig-2_3_exe.7z
驱动选择 libusb-win32
------------------------------------------------------
2019-02-01 更新:
已经可以读到spi flash数据了: https://whycan.cn/t_2129.html#p15015
离线
@晕哥,座子1脚要对着卡座把柄那头
离线
上面那块小板子,旋转180℃后,向下对齐
离线
离线
很羡慕晕哥有这么一位强大神秘的朋友
离线
这两天正好在玩ch552 真巧晕哥也在玩 https://www.mydigit.cn/forum.php?mod=viewthread&tid=7356
离线
现在像找几个人帮忙试试,不知道有没有人感兴趣
离线
不支持Hub是什么鬼
离线
jiangming1399 说:不支持Hub是什么鬼
应该是固件兼容性,或者上位机烧录软件没做好
之前自己用CH552/4DIY过一些东西,兼容性也不是很好。感觉可能是自己线路画得有问题
离线


用官方例程自带的 VendorDefinedDev.c,
zadig-2.3.exe 安装 libusb-win32 驱动,
然后配合以前写的 libusb 上位机,
轻轻松松实现通讯.
离线
https://whycan.cn/files/members/3/QQ20190202142325.png
这就尴尬了, 这个烧录器没有这玩意,想改装成开发板还得补个电阻和按键。
CH552的串口下载支持无需手动进boot,上电即可下载。
离线
晕哥 说:https://whycan.cn/files/members/3/QQ20190202142325.png
这就尴尬了, 这个烧录器没有这玩意,想改装成开发板还得补个电阻和按键。
CH552的串口下载支持无需手动进boot,上电即可下载。

试了一下手上这块 CH559L 开发板果然可以串口下载, 
只是上面这个 CH552G 烧录器貌似烧录串口也没有引出。
离线
离线
参考链接: https://www.soft-switch.org/downloads/line6/usbtest.c
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <time.h>
#include <libusb-1.0/libusb.h>
#define USB_VID         0x1fc8
#define USB_PID         0x300b
#define INTERFACE_NUM   0
#define ENDPOINT_A      0x02
#define ENDPOINT_B      0x82
/* For USB communication */
#define TMOUT 500
#define LENGTH 64
libusb_device_handle *burner_hand;
void dumpit(int x, unsigned char msg[], int len)
{
    int i;
    if (len == 0)
        return;
    printf("%3d: ", x);
    for (i = 0;  i < len;  i++)
        printf("%02x ", msg[i]);
    printf("\n");
}
int start_burner()
{
    int i;
    int j;
    int ret;
    int received;
    int ok;
    unsigned char msg[LENGTH];
    if (burner_hand == NULL)
    {
        /* Initialize libusb */
        if ((ret = libusb_init(NULL)))
            return ret;
        /* Get a handle for the device */
        if ((burner_hand = libusb_open_device_with_vid_pid(NULL, USB_VID, USB_PID)) == NULL)
        {
            libusb_exit(NULL);
            return -100;
        }
        /* Detach any kernel driver */
        if ((ret = libusb_kernel_driver_active(burner_hand, 0)))
        {
            if ((ret = libusb_detach_kernel_driver(burner_hand, 0)))
            {
                stop_burner();
                return ret;
            }
        }
        /* Claim the device */
        /* Interface 0 is audio. Interface 1 is control */
        if ((ret = libusb_claim_interface(burner_hand, INTERFACE_NUM)))
        {
			printf(" 33333333333333 \n");
            stop_burner();
            return ret;
        }
    }
    memset(msg, 0, sizeof(msg));
	//0x00, 0x09, 0x00, 0x00, 0x01, 0x00, 0x03, 0xE8, 0x02, 0x00, 0x00, 0x00, 0x00, 0xEF, 0x40, 0x19
    msg[0] = 0x00;
    msg[1] = 0x09;
    msg[2] = 0x00;
    msg[3] = 0x00;
    msg[4] = 0x01;
    msg[5] = 0x00;
    msg[6] = 0x03;
    msg[7] = 0xE8;
    msg[8] = 0x02;
    msg[9] = 0x00;
    msg[10] = 0x00;
    msg[11] = 0x00;
    msg[12] = 0x00;
    msg[13] = 0xEF;
    msg[14] = 0x40;
    msg[15] = 0x19;
	if ((ok = libusb_bulk_transfer(burner_hand, ENDPOINT_A, msg, 64, &received, TMOUT)))
		exit(2);
	printf("Sent %d %d\n", ok, received);
    if ((ok = libusb_bulk_transfer(burner_hand, ENDPOINT_B, msg, LENGTH, &received, 5*TMOUT)))
        ; //exit(2);
	printf("Received %d %d\n", ok, received);
	dumpit(0, msg, received);
    return 0;
}
int stop_burner(void)
{
    int ret;
    if (burner_hand)
    {
        /* Release claimed interface */
        ret = libusb_release_interface(burner_hand, INTERFACE_NUM);
        if (ret  &&  (ret != LIBUSB_ERROR_NO_DEVICE))
        {
            /* Close opened interface */
            libusb_close(burner_hand);
            burner_hand = NULL;
            return ret;
        }
#if 0
        if (ret != LIBUSB_ERROR_NO_DEVICE)
        {
            /* Re-attach kernel driver */
            if ((ret = libusb_attach_kernel_driver(burner_hand, 0)))
                return ret;
        }
#endif
        /* Close opened interface */
        libusb_close(burner_hand);
        burner_hand = NULL;
        /* Stop using libusb */
        libusb_exit(NULL);
    }
    return 0;
}
int main(int argc, char *argv[])
{
    if (start_burner())
    {
        printf("Failed to connect to burner\n");
        exit(2);
    }
    if (stop_burner())
    {
        printf("Failed to disconnect from burner\n");
        exit(2);
    }
	else
	{
        printf("Disconnect from burner sucessful!\n");
	}
    return 0;
}Ubuntu编译方法:
gcc -o test usbtest.c -lusb-1.0

离线
以前用CH552G做过烧录器,5V 3.3V芯片都可以用,支持页读写,
CH552很不错的,
http://www.wch.cn/bbs/thread-66188-1.html
这是我自己做的软件截图
以下 @晕哥 搬运 添加:
--------------------------------
最近编辑记录 yywyai (2019-03-08 10:41:54)
离线
以前用CH552G做过烧录器,5V 3.3V芯片都可以用,支持页读写,
CH552很不错的,
http://www.wch.cn/bbs/thread-66188-1.html
这是我自己做的软件截图
好强大!
离线
这里有瑶杰编程器直接改的图
http://www.diybcq.com/thread-144065-1-1.html
离线
以前很火的eeprom flash烧录器也是CH341A,这家公司生产神器啊
离线
留个记号,有空的时候用起来
离线
ch552的usb据说很好用。还在学习中。
离线
请问可以直接USB烧录吗?
离线
请问可以直接USB烧录吗?
552可以啊
离线
原版的上位机支持芯片不多,貌似刷别的固件用其他上位机
离线