打印
[IDE]

【CH32F103测评报告】+简易全速USB通讯实验

[复制链接]
2503|32
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
#申请开发板# 本帖最后由 qjp1988113 于 2020-9-22 10:56 编辑

板子上手,先做一下USB通讯的实验,直接用的官方给的USBD这个例程。

但是即没提供测试工具,也没具体的示例说明文档,只好自己摸索了。
原本这个例程是将输入的字节全部取反再输出。
这个在软件包里面的CH32F103_List.txt文档里面提到:


USBD:模拟自定义USB设备(CH372设备)例程,提供8个非0通道(上传+下传),
实现数据先下传,然后数据内容取反上传。
编译程序下载到开发板,打开老早之前的一个CH372调试的小软件:


实验现象正常。那能不能改成一些动作输出和自定义的语句输出呢。
直接在usb_endp.c里面修改:
void EP2_OUT_Callback(void)
{
        uint8_t i;
        //将EP2端点输入的缓存数据读取到USB_Rx_Buffer数组里面
        //当然这个可以自己定义一个数组变量,并返回接收数据的长度
        //USB_Rx_Cnt = USB_SIL_Read(EP2_OUT, USB_Rx_Buffer);
        //我们这里不需要
        USB_SIL_Read(EP2_OUT, USB_Rx_Buffer);
    //接收到的数据取反
        //这里屏蔽
//    for(i=0;i<USB_Rx_Cnt;i++)
//        {
//                //USB_Rx_Buffer[i] = ~USB_Rx_Buffer[i];
//        }

        //添加动作控制
        //随意写的,数组前2为为11 开灯
        //12 关灯
        if((USB_Rx_Buffer[0]==1)&&(USB_Rx_Buffer[1]==1))
        {
                PAout(0) = 1;
                //更改回复
                SetEPTxValid(ENDP2);
                USB_SIL_Write(EP2_IN, "LEDOFF
", sizeof( "LEDOFF
"));
                //Delay_Us(10);
        }

        if((USB_Rx_Buffer[0]==1)&&(USB_Rx_Buffer[1]==2))
        {
                PAout(0) = 0;
                //更改回复
                SetEPTxValid(ENDP2);
                USB_SIL_Write(EP2_IN, "LEDON
", sizeof( "LEDON
"));
                //Delay_Us(10);
        }
        //随便回复一个OKMMM
        //使能发送
//        SetEPTxValid(ENDP2);
//    USB_SIL_Write(EP2_IN, "OKMMM", sizeof( "OKMMM"));
        //不用之前的输出程序
    //EP2_IN_Callback();
    //使能接收
        SetEPRxValid(ENDP2);
}
重新编译下载,看结果:


同时对应LED受控。
可能真正使用并不是这样用的,但也没办法只能瞎摸索看看了。
附上工具附件,可能要安装CH372/CH375的驱动。
Debug.rar (46.84 KB)

使用特权

评论回复

相关帖子

沙发
Kelan| | 2020-9-22 12:14 | 只看该作者
USB方面的例子,好像原厂WCH讲得很少。希望原厂能进一步完善范例和配套的上位机软件

使用特权

评论回复
板凳
WCHTech2| | 2020-9-22 16:46 | 只看该作者
Kelan 发表于 2020-9-22 12:14
USB方面的例子,好像原厂WCH讲得很少。希望原厂能进一步完善范例和配套的上位机软件 ...

目前USB方面例程提供了模拟自定义设备(CH372),主机提供了操作U盘的例程,如果需要模拟键鼠、U盘等例程可以参考CH549等8位单片机的例程,后期工程师也会完善这部分例程。

使用特权

评论回复
地板
Kelan| | 2020-9-22 17:17 | 只看该作者
WCHTech2 发表于 2020-9-22 16:46
目前USB方面例程提供了模拟自定义设备(CH372),主机提供了操作U盘的例程,如果需要模拟键鼠、U盘等例程 ...

有这个也行~
对了,少量的CH32F103和评估板,在哪里可以买到?

使用特权

评论回复
5
WCHTech2| | 2020-9-22 17:21 | 只看该作者
Kelan 发表于 2020-9-22 17:17
有这个也行~
对了,少量的CH32F103和评估板,在哪里可以买到?

直接联系沁恒销售购买即可:025-52638388/025-52638399

使用特权

评论回复
6
Kelan| | 2020-9-28 17:23 | 只看该作者

您好!请问“CH372调试的小软件"(CH372内置固件传输)--- 是你写的吗?

使用特权

评论回复
7
qjp1988113|  楼主 | 2020-9-29 08:33 | 只看该作者
Kelan 发表于 2020-9-28 17:23
您好!请问“CH372调试的小软件"(CH372内置固件传输)--- 是你写的吗?

是,用C#写的

使用特权

评论回复
8
kkzz| | 2020-10-3 18:10 | 只看该作者
传输的速度怎么样呢   

使用特权

评论回复
9
hudi008| | 2020-10-3 18:10 | 只看该作者
USB可以做串口通讯

使用特权

评论回复
10
lzmm| | 2020-10-3 18:10 | 只看该作者
使用keil开发的吗?         

使用特权

评论回复
11
minzisc| | 2020-10-3 18:10 | 只看该作者
CH32F103功耗怎么样?         

使用特权

评论回复
12
selongli| | 2020-10-3 18:11 | 只看该作者
学习一下USB通讯的实验              

使用特权

评论回复
13
fentianyou| | 2020-10-3 18:11 | 只看该作者
有视频演示吗?                 

使用特权

评论回复
14
xiaoyaodz| | 2020-10-3 18:11 | 只看该作者
驱动是怎么编写的呢?         

使用特权

评论回复
15
febgxu| | 2020-10-3 18:11 | 只看该作者
期待楼主更多的分享了。         

使用特权

评论回复
16
sdlls| | 2020-10-3 18:11 | 只看该作者
全速USB的速度可以多少呢?      

使用特权

评论回复
17
pixhw| | 2020-10-3 18:11 | 只看该作者
               

使用特权

评论回复
18
Taoyukai| | 2020-10-3 19:03 | 只看该作者
lzmm 发表于 2020-10-3 18:10
使用keil开发的吗?

cortex M3,一般用keil开发的,看帖子图标也是keil

使用特权

评论回复
19
Taoyukai| | 2020-10-3 19:03 | 只看该作者
sdlls 发表于 2020-10-3 18:11
全速USB的速度可以多少呢?

usb全速是12Mbps吧

使用特权

评论回复
20
caigang13| | 2020-10-5 17:24 | 只看该作者
感谢分享,这方面资料确实少。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

111

主题

627

帖子

2

粉丝