打印
[STC单片机]

视频回放, 2023/8/19期,USB大型实战研讨会,冲哥重披战袍

[复制链接]
921|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 STCMCUNT015 于 2023-8-25 10:53 编辑

USB大型实战技术研讨会冲哥重披战袍,全面演绎STC-USB

回放视频地址:www.stcaimcu.com/forum.php?mod=viewthread&tid=3899&extra=page%3D1
不要错过成为USB高手的机会

1,USB-CDC虚拟串口/就是串口, USB双串口
2,  USB-HID, 【鼠标+键盘】的 USB-HID 复合设备
3,USB Mass Storage Class, 做U盘
4,  WINUSB
5,STC-ISP  |  STC调试接口
     串口绘图
6,STC-ISP | 串口助手 的高级应用



相关资料下载
一,STC8H系列 1T 8051中文数据手册更新 ,  2023/7/31
深圳国芯人工智能有限公司-产品_STC8H系列  https://www.STCAI.com/cp_stc8hxl

二,STC32G12K128 系列32位8051中文数据手册更新 ,  2023/7/31
深圳国芯人工智能有限公司-产品_STC32系列  https://www.STCAI.com/cp_stc32xl

三,STC-ISP V6.92A 版本 发布
www.STCAI.com/gjrj







使用特权

评论回复

相关帖子

沙发
STCMCUNT015|  楼主 | 2023-8-11 08:57 | 只看该作者
延伸阅读:
STC8H超级简单的USB-CDC虚拟串口/就是串口应用及不停电下载 !
附件有源代码
1.1   USB-CDC虚拟串口概述
当单片机需要和电脑之间进行数据交换时,首选一般都是串口通讯。1T 8051, STC8H8K64U单片机内置USB控制器和收发器。
当用户代码中嵌入USB-CDC代码后,使用USB线将单片机与电脑直接相连接,在电脑端就可识别出【USB-CDC虚拟串口】,
USB-CDC虚拟串口】就是【串口】, 就是【简单最强大串口
USB-CDC虚拟串口和传统串口相比有如下优点:
Ø  数据传输更快:   USB-CDC虚拟串口忽略传统串口的波特率,传输速度的比特率即为全速USB的通讯速度12MBPS(即每秒12M位)
Ø  使用更简单便捷:USB-CDC虚拟串口忽略传统串口的起始位、停止位等冗余信息
Ø  数据传输更可靠:USB-CDC虚拟串口丢弃传统串口简单的软件奇偶校验机制,USB-CDC虚拟串口数据传输时有USB硬件CRC校验,
                              以及校验出错重传机制,保证数据100%正确
Ø  自动缓存数据:   USB-CDC虚拟串口会自动缓存数据。单片机在没有处理完成上位机下传的上一笔数据时,如果此时上位机又有新的数据下传,
                              虚拟串口会自动将新的数据缓存,从而保证数据100%不会丢失或被覆盖。

USB-CDC虚拟串口和传统串口相比有如下优点:
Ø  数据传输更快:   USB-CDC虚拟串口忽略传统串口的波特率,传输速度的比特率即为全速USB的通讯速度12MBPS(即每秒12M位)
Ø  使用更简单便捷:USB-CDC虚拟串口忽略传统串口的起始位、停止位等冗余信息
Ø  数据传输更可靠:USB-CDC虚拟串口丢弃传统串口简单的软件奇偶校验机制,USB-CDC虚拟串口数据传输时有USB硬件CRC校验,
                             以及校验出错重传机制,保证数据100%正确
Ø  自动缓存数据:  USB-CDC虚拟串口会自动缓存数据。单片机在没有处理完成上位机下传的上一笔数据时,如果此时上位机又有新的数据下传,
                            虚拟串口会自动将新的数据缓存,从而保证数据100%不会丢失或被覆盖。
1.2                  新建Keil项目并加入CDC模块
1、首选从官网下载CDC代码库(https://www.stcai.com/filedownload/656048)

2、下载完成后,从压缩包中将“stc_usb_cdc_8h_data.lib”和“stc32_stc8_usb.h”解压到项目目录中

3、打开Keil软件,并新建项目


Database请选择“STC MCU Database

单片机型号选择“STC8H8K64U Series

4、项目建立完成后,将下面的代码命名为main.c文件并保存到项目目录中

//测试工作频率为24MHz
#include "stc8h.h"
#include "stc32_stc8_usb.h"
#define       FOSC                 24000000UL//ISP下载时需将工作频率设置为24MHz
char *USER_DEVICEDESC = NULL;
char *USER_PRODUCTDESC = NULL;
char *USER_STCISPCMD = "@STCISP#";                                     //不停电自动ISP下载命令
void main()
{
         P_SW2|= 0x80;
         P0M1= 0x00;   P0M0 = 0x00;
         P1M1= 0x00;   P1M0 = 0x00;
         P2M1= 0x00;   P2M0 = 0x00;
         P3M1= 0x00;   P3M0 = 0x00;
         P4M1= 0x00;   P4M0 = 0x00;
         P5M1= 0x00;   P5M0 = 0x00;
         P6M1= 0x00;   P6M0 = 0x00;
         P7M1= 0x00;   P7M0 = 0x00;
         P3M0&= ~0x03;                                                                          //P3.0/P3.1USBD-/D+共用PIN脚,
         P3M1|= 0x03;                                                                              //需要将P3.0/P3.1设置为高阻输入模式
         IRC48MCR= 0x80;                                                                     //使能内部48MUSB专用IRC
         while(!(IRC48MCR & 0x01));
         USBCLK= 0x00;                                                                         //设置USB时钟源为内部48MUSB专用IRC
         USBCON= 0x90;                                                                         //使能USB功能
         usb_init();                                                                                     //调用USB CDC初始化库函数
         IE2|= 0x80;                                                                                  //使能USB中断
         EA= 1;
         while(DeviceState != DEVSTATE_CONFIGURED);              //等待USB完成配置
         while(1)
         {
                   if(bUsbOutReady)                                                              //当硬件接收完成上位机通过串口助手发送数据后
//会自动将bUsbOutReady1
//接收的数据字节数保存在OutNumber变量中
//接收的数据保存在UsbOutBuffer缓冲区
                   {
                            USB_SendData(UsbOutBuffer,OutNumber);         //使用USB_SendData库函数可向上位机发送数据
//这里的测试代码为将接收数据原样返回
                            usb_OUT_done();                                                      //处理完成接收的数据后
//调用usb_OUT_done准备接收下一笔数据
                   }
         }
}


5、将项目目录下的“main.c”和“stc_usb_cdc_32g.lib”加入到项目中



6、进行项目设置





设置完成后,编译通过即可生产目标HEX文件
7、使用最新的STC-ISP下载软件将HEX下载到目标芯片

8、下载完成后,系统中就会出现一个STC USB-CDC串口



1.3      USB-CDC虚拟串口与电脑进行数据传输
用STC-ISP软件中的串口助手打开CDC串口,即可进行数据收发测试


1.4      STC USB-CDC虚拟串口实现不停电自动ISP下载
由于我们在代码中已经定义了不停电自动ISP下载命令

我们只需要在下载软件的“收到用户命令后复位到ISP监控程序区”中的进行如下设置,即可实现不停电自动ISP下载功能了。

使用特权

评论回复
板凳
STCMCUNT015|  楼主 | 2023-8-12 11:04 | 只看该作者
相关视频提前预习

www.stcaimcu.com/forum.php?mod=viewthread&tid=2990&page=1&extra=#pid20325


使用特权

评论回复
地板
STCMCUNT015|  楼主 | 2023-8-16 08:49 | 只看该作者
腾讯会议号:885-5858-2739, 8/19上午, 不要错过成为USB高手的机会

使用特权

评论回复
5
STCMCUNT015|  楼主 | 2023-8-17 10:37 | 只看该作者
USB大型实战技术研讨会,0基础到USB高级应用,8/19上午
腾讯会议号:885-5858-2739, 不要错过成为USB高手的机会,
更多信息可去www.STCAIMCU.com新官方网站

使用特权

评论回复
6
mikizhang| | 2023-8-18 15:20 | 只看该作者

使用特权

评论回复
7
STCMCUNT015|  楼主 | 2023-8-19 08:47 | 只看该作者
品完早茶,2023/8/19, 今天上午 9:00 - 12:00
腾讯免费线上教学会议号:885-5858-2739
打开腾讯会议软件,输入上面的会议号,免费参加 USB 技术 0基础实战

USB大型实战技术研讨会,0基础到USB高级应用, 今天本周六上午速成USB专家
腾讯会议号:885-5858-2739,  8/19上午 9: 00 ~ 12: 00 !免费线上教学
帮转发给感兴趣的 学生/老师/研发人员,不要错过成为USB高手的机会
===现已发布提前预习的视频,冲哥重披战袍,STC-USB军团 本周六 远航 !
1,USB-CDC虚拟串口/就是串口, USB转双串口
2,  USB-HID, 【鼠标+键盘】的 USB-HID 复合设备
3,USB Mass Storage Class, 做U盘
4,  WINUSB
5,STC-ISP  |  STC调试接口
     串口绘图
6,STC-ISP | 串口助手 的高级应用

我们 是高速前行的 STC-USB / 32位8051 军团
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=3599&extra=&page=1

使用特权

评论回复
8
mikizhang| | 2023-8-22 09:09 | 只看该作者
视频回放,  2023/8/19期,STC-USB大型实战研讨会冲哥重披战袍:
1.USB-CDC虚拟串口应用
    ① USB库文件下载和工程搭建 ,快速开发;
    ② 基于LIB库的USB-CDC串口中断通信;
    ③ 基于CDC串口的Printf函数,给你的串口无限可能!
    ④ 通过CDC串口发送特定指令获取参数
    ⑤ 基于LIB库的简易USB-CDC转串口
    ⑥ CDC转双串口串口,CDC转下载器
2.USB-HID应用
    ① HID通信
    ② HID键盘
3.WINUSB
4.MSC做虚拟U盘
5.基于USB-CDC虚拟串口的串口绘图应用


使用特权

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

本版积分规则

82

主题

252

帖子

1

粉丝