找回密码
 立即注册
查看: 166|回复: 2

printf_usb("Hello World !\r\n"), 第一个C语言程序, USB通信,使用AiCube智能配置开发工具@8H8K64U

[复制链接]
  • 打卡等级:常住居民III
  • 打卡总天数:146
  • 最近打卡:2025-06-16 10:11:39

16

主题

470

回帖

2572

积分

超级版主

积分
2572
发表于 2025-5-19 14:08:25 | 显示全部楼层 |阅读模式
printf_usb("Hello World !\r\n"),
===第一个C语言程序, USB通信,
===使用 AiCube@STC-ISP 智能配置开发工具, STC8H8K64U

1.在深圳国芯人工智能有限公司-工具软件下载最新ISP软件,重新安装KEIL驱动,添加头文件。
截图202505191425168438.jpg
截图202505191426505634.jpg
截图202505191427071305.jpg
打开AiCube,创建项目文件夹。
截图202505191428567764.jpg
项目设置——Keil设置里的链接器选BL51,存储器模式选Large模式,代码大小模式选Large模式。
截图202505191429491732.jpg
勾选USB通用串行总线,USB协议选择CDC,点击保存AiCube项目和创建Keil项目。
截图202505191435416697.jpg
2.keil自动打开项目文件,生成如下程序:
截图202505211532416565.jpg
在程序中用 printf_usb("Hello World !\r\n"); 取代 USBLIB_OUT_Done();编译成功。
截图202505211437459679.jpg
3.成功下载程序,串口助手接收区里一直打印Hello World !
截图202505191453437284.jpg
8H_printf_usb_test.zip (148.45 KB, 下载次数: 6)
程序如下:
  1. //<<AICUBE_USER_HEADER_REMARK_BEGIN>>
  2. ////////////////////////////////////////
  3. // 在此添加用户文件头说明信息
  4. // 文件名称: main.c
  5. // 文件描述:
  6. // 文件版本: V1.0
  7. // 修改记录:
  8. //   1. (2025-05-19) 创建文件
  9. ////////////////////////////////////////
  10. //<<AICUBE_USER_HEADER_REMARK_END>>
  11. #include "config.h"                     //默认已包含stdio.h、intrins.h、ai_usb.h等头文件
  12. //<<AICUBE_USER_INCLUDE_BEGIN>>
  13. // 在此添加用户头文件包含
  14. //<<AICUBE_USER_INCLUDE_END>>
  15. //<<AICUBE_USER_GLOBAL_DEFINE_BEGIN>>
  16. // 在此添加用户全局变量定义、用户宏定义以及函数声明
  17. //<<AICUBE_USER_GLOBAL_DEFINE_END>>
  18. ////////////////////////////////////////
  19. // 项目主函数
  20. // 入口参数: 无
  21. // 函数返回: 无
  22. ////////////////////////////////////////
  23. void main(void)
  24. {
  25.     //<<AICUBE_USER_MAIN_INITIAL_BEGIN>>
  26.     // 在此添加用户主函数初始化代码
  27.     //<<AICUBE_USER_MAIN_INITIAL_END>>
  28.     SYS_Init();
  29.     //<<AICUBE_USER_MAIN_CODE_BEGIN>>
  30.     // 在此添加主函数中运行一次的用户代码
  31.     //<<AICUBE_USER_MAIN_CODE_END>>
  32.     while (1)
  33.     {
  34.         //USBLIB_OUT_Done();              //查询方式处理USB接收的数据
  35.         //<<AICUBE_USER_MAIN_LOOP_BEGIN>>
  36.         // 在此添加主函数中用户主循环代码
  37.         printf_usb("Hello World !\r\n");
  38.         //直接打印输出"Hello World !\r\n"到主机端的USB-CDC/HID-串口助手
  39.         //<<AICUBE_USER_MAIN_LOOP_END>>
  40.     }
  41. }
  42. ////////////////////////////////////////
  43. // 系统初始化函数
  44. // 入口参数: 无
  45. // 函数返回: 无
  46. ////////////////////////////////////////
  47. void SYS_Init(void)
  48. {
  49.     EnableAccessXFR();                  //使能访问扩展XFR
  50.     IAP_SetTimeBase();                  //设置IAP等待参数,产生1us时基
  51.     P0M0 = 0x00; P0M1 = 0x00;           //初始化P0口为准双向口模式
  52.     P1M0 = 0x00; P1M1 = 0x00;           //初始化P1口为准双向口模式
  53.     P2M0 = 0x00; P2M1 = 0x00;           //初始化P2口为准双向口模式
  54.     P3M0 = 0x00; P3M1 = 0x00;           //初始化P3口为准双向口模式
  55.     P4M0 = 0x00; P4M1 = 0x00;           //初始化P4口为准双向口模式
  56.     P5M0 = 0x00; P5M1 = 0x00;           //初始化P5口为准双向口模式
  57.     P6M0 = 0x00; P6M1 = 0x00;           //初始化P6口为准双向口模式
  58.     P7M0 = 0x00; P7M1 = 0x00;           //初始化P7口为准双向口模式
  59.     USBLIB_Init();                      //USB库初始化
  60.     //<<AICUBE_USER_INITIAL_CODE_BEGIN>>
  61.     // 在此添加用户初始化代码
  62.     //<<AICUBE_USER_INITIAL_CODE_END>>
  63.     EnableGlobalInt();                  //使能全局中断
  64. }
  65. ////////////////////////////////////////
  66. // 微秒延时函数
  67. // 入口参数: us (设置延时的微秒值)
  68. // 函数返回: 无
  69. ////////////////////////////////////////
  70. void delay_us(uint16_t us)
  71. {
  72.     do
  73.     {
  74.         NOP(14);                        //(MAIN_Fosc + 500000) / 1000000 - 10
  75.     } while (--us);
  76. }
  77. ////////////////////////////////////////
  78. // 毫秒延时函数
  79. // 入口参数: ms (设置延时的毫秒值)
  80. // 函数返回: 无
  81. ////////////////////////////////////////
  82. void delay_ms(uint16_t ms)
  83. {
  84.     uint16_t i;
  85.     do
  86.     {
  87.         i = MAIN_Fosc / 10000;
  88.         while (--i);
  89.     } while (--ms);
  90. }
  91. ////////////////////////////////////////
  92. // USB库初始化函数
  93. // 入口参数: 无
  94. // 函数返回: 无
  95. ////////////////////////////////////////
  96. void USBLIB_Init(void)
  97. {
  98.     usb_init();                         //初始化USB模块
  99.     USB_SetIntPriority(0);              //设置中断为最低优先级
  100.     set_usb_ispcmd("@STCISP#");         //设置USB不停电下载命令
  101.     //<<AICUBE_USER_USBLIB_INITIAL_BEGIN>>
  102.     // 在此添加用户初始化代码
  103.     //<<AICUBE_USER_USBLIB_INITIAL_END>>
  104. }
  105. ////////////////////////////////////////
  106. // 等待USB配置完成函数
  107. // 入口参数: 无
  108. // 函数返回: 无
  109. ////////////////////////////////////////
  110. void USBLIB_WaitConfiged(void)
  111. {
  112.     while (DeviceState != DEVSTATE_CONFIGURED) //等待USB完成配置
  113.         WDT_Clear();                    //清看门狗定时器 (防止硬件自动使能看门狗)
  114. }
  115. ////////////////////////////////////////
  116. // USB设备接收数据处理程序
  117. // 入口参数: 无
  118. // 函数返回: 无
  119. // bUsbOutReady:USB设备接收数据标志位
  120. // OutNumber:USB设备接收到的数据长度
  121. // UsbOutBuffer:保存USB设备接收到的数据
  122. ////////////////////////////////////////
  123. void USBLIB_OUT_Done(void)
  124. {
  125.     if (bUsbOutReady)                   //查询是否有接收到USB主机发送数据
  126.     {
  127.         //<<AICUBE_USER_USBLIB_ISR_CODE1_BEGIN>>
  128.         // 在此添加中断函数用户代码
  129.         USB_SendData(UsbOutBuffer, OutNumber); //原路返回, 用于测试
  130.                                         //在此处添加用户处理接收数据的代码
  131.         //<<AICUBE_USER_USBLIB_ISR_CODE1_END>>
  132.         usb_OUT_done();                 //当前包的数据处理完成,通知USB主机可以发送下一包数据
  133.     }
  134. }
  135. //<<AICUBE_USER_FUNCTION_IMPLEMENT_BEGIN>>
  136. // 在此添加用户函数实现代码
  137. //<<AICUBE_USER_FUNCTION_IMPLEMENT_END>>
复制代码




回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:146
  • 最近打卡:2025-06-16 10:11:39

16

主题

470

回帖

2572

积分

超级版主

积分
2572
发表于 2025-5-19 14:09:12 | 显示全部楼层
printf_usb("Hello World !\r\n")或其他,
===第二个C语言程序, USB通信,查询方式,
===使用 AiCube@STC-ISP 智能配置开发工具, STC8H8K64U

1.在深圳国芯人工智能有限公司-工具软件下载最新ISP软件,重新安装KEIL驱动,添加头文件。



打开AiCube,创建项目文件夹。
截图202505191509586075.jpg
项目设置——Keil设置里的链接器选BL51,存储器模式选Large模式,代码大小模式选Large模式。
截图202505191510521536.jpg
勾选USB通用串行总线,USB协议选择CDC,点击保存AiCube项目和创建Keil项目。
截图202505191512238330.jpg
2.keil自动打开项目文件,生成如下程序:
截图202505211614022467.jpg
在程序中将 USB_SendData(UsbOutBuffer, OutNumber);
改成:
if(UsbOutBuffer[0]==6)
     printf_usb("HelloWorld!\r\n"); //如接收到的数据包的第0个字节是6,打印“HelloWorld!"
else if(UsbOutBuffer[0]==7)
     printf_usb("China!\r\n");  //如接收到的数据包的第0个字节是7,打印“China!"
编译成功。
截图202505211458016785.jpg
3.成功下载程序,串口助手发送区/多字符串发送区要勾选HEX模式,发送6时接收Hello World !;发送7时接收China !
截图202505191518047724.jpg
截图202505191518333179.jpg
8H_printf_usb_test_query.zip (149.01 KB, 下载次数: 4)
程序如下:
  1. //<<AICUBE_USER_HEADER_REMARK_BEGIN>>
  2. ////////////////////////////////////////
  3. // 在此添加用户文件头说明信息
  4. // 文件名称: main.c
  5. // 文件描述:
  6. // 文件版本: V1.0
  7. // 修改记录:
  8. //   1. (2025-05-19) 创建文件
  9. ////////////////////////////////////////
  10. //<<AICUBE_USER_HEADER_REMARK_END>>
  11. #include "config.h"                     //默认已包含stdio.h、intrins.h、ai_usb.h等头文件
  12. //<<AICUBE_USER_INCLUDE_BEGIN>>
  13. // 在此添加用户头文件包含
  14. //<<AICUBE_USER_INCLUDE_END>>
  15. //<<AICUBE_USER_GLOBAL_DEFINE_BEGIN>>
  16. // 在此添加用户全局变量定义、用户宏定义以及函数声明
  17. //<<AICUBE_USER_GLOBAL_DEFINE_END>>
  18. ////////////////////////////////////////
  19. // 项目主函数
  20. // 入口参数: 无
  21. // 函数返回: 无
  22. ////////////////////////////////////////
  23. void main(void)
  24. {
  25.     //<<AICUBE_USER_MAIN_INITIAL_BEGIN>>
  26.     // 在此添加用户主函数初始化代码
  27.     //<<AICUBE_USER_MAIN_INITIAL_END>>
  28.     SYS_Init();
  29.     //<<AICUBE_USER_MAIN_CODE_BEGIN>>
  30.     // 在此添加主函数中运行一次的用户代码
  31.     //<<AICUBE_USER_MAIN_CODE_END>>
  32.     while (1)
  33.     {
  34.         USBLIB_OUT_Done();              //查询方式处理USB接收的数据
  35.         //<<AICUBE_USER_MAIN_LOOP_BEGIN>>
  36.         // 在此添加主函数中用户主循环代码
  37.         //<<AICUBE_USER_MAIN_LOOP_END>>
  38.     }
  39. }
  40. ////////////////////////////////////////
  41. // 系统初始化函数
  42. // 入口参数: 无
  43. // 函数返回: 无
  44. ////////////////////////////////////////
  45. void SYS_Init(void)
  46. {
  47.     EnableAccessXFR();                  //使能访问扩展XFR
  48.     IAP_SetTimeBase();                  //设置IAP等待参数,产生1us时基
  49.     P0M0 = 0x00; P0M1 = 0x00;           //初始化P0口为准双向口模式
  50.     P1M0 = 0x00; P1M1 = 0x00;           //初始化P1口为准双向口模式
  51.     P2M0 = 0x00; P2M1 = 0x00;           //初始化P2口为准双向口模式
  52.     P3M0 = 0x00; P3M1 = 0x00;           //初始化P3口为准双向口模式
  53.     P4M0 = 0x00; P4M1 = 0x00;           //初始化P4口为准双向口模式
  54.     P5M0 = 0x00; P5M1 = 0x00;           //初始化P5口为准双向口模式
  55.     P6M0 = 0x00; P6M1 = 0x00;           //初始化P6口为准双向口模式
  56.     P7M0 = 0x00; P7M1 = 0x00;           //初始化P7口为准双向口模式
  57.     USBLIB_Init();                      //USB库初始化
  58.     //<<AICUBE_USER_INITIAL_CODE_BEGIN>>
  59.     // 在此添加用户初始化代码
  60.     //<<AICUBE_USER_INITIAL_CODE_END>>
  61.     EnableGlobalInt();                  //使能全局中断
  62. }
  63. ////////////////////////////////////////
  64. // 微秒延时函数
  65. // 入口参数: us (设置延时的微秒值)
  66. // 函数返回: 无
  67. ////////////////////////////////////////
  68. void delay_us(uint16_t us)
  69. {
  70.     do
  71.     {
  72.         NOP(14);                        //(MAIN_Fosc + 500000) / 1000000 - 10
  73.     } while (--us);
  74. }
  75. ////////////////////////////////////////
  76. // 毫秒延时函数
  77. // 入口参数: ms (设置延时的毫秒值)
  78. // 函数返回: 无
  79. ////////////////////////////////////////
  80. void delay_ms(uint16_t ms)
  81. {
  82.     uint16_t i;
  83.     do
  84.     {
  85.         i = MAIN_Fosc / 10000;
  86.         while (--i);
  87.     } while (--ms);
  88. }
  89. ////////////////////////////////////////
  90. // USB库初始化函数
  91. // 入口参数: 无
  92. // 函数返回: 无
  93. ////////////////////////////////////////
  94. void USBLIB_Init(void)
  95. {
  96.     usb_init();                         //初始化USB模块
  97.     USB_SetIntPriority(0);              //设置中断为最低优先级
  98.     set_usb_ispcmd("@STCISP#");         //设置USB不停电下载命令
  99.     //<<AICUBE_USER_USBLIB_INITIAL_BEGIN>>
  100.     // 在此添加用户初始化代码
  101.     //<<AICUBE_USER_USBLIB_INITIAL_END>>
  102. }
  103. ////////////////////////////////////////
  104. // 等待USB配置完成函数
  105. // 入口参数: 无
  106. // 函数返回: 无
  107. ////////////////////////////////////////
  108. void USBLIB_WaitConfiged(void)
  109. {
  110.     while (DeviceState != DEVSTATE_CONFIGURED) //等待USB完成配置
  111.         WDT_Clear();                    //清看门狗定时器 (防止硬件自动使能看门狗)
  112. }
  113. ////////////////////////////////////////
  114. // USB设备接收数据处理程序
  115. // 入口参数: 无
  116. // 函数返回: 无
  117. // bUsbOutReady:USB设备接收数据标志位
  118. // OutNumber:USB设备接收到的数据长度
  119. // UsbOutBuffer:保存USB设备接收到的数据
  120. ////////////////////////////////////////
  121. void USBLIB_OUT_Done(void)
  122. {
  123.     if (bUsbOutReady)                   //查询是否有接收到USB主机发送数据
  124.     {
  125.         //<<AICUBE_USER_USBLIB_ISR_CODE1_BEGIN>>
  126.         // 在此添加中断函数用户代码
  127.         //USB_SendData(UsbOutBuffer, OutNumber); //原路返回, 用于测试
  128.         //在此处添加用户处理接收数据的代码
  129.         if(UsbOutBuffer[0]==6)
  130.            printf_usb("HelloWorld!\r\n"); //如接收到的数据包的第0个字节是6,打印“HelloWorld!"
  131.         else if(UsbOutBuffer[0]==7)
  132.            printf_usb("China!\r\n");  //如接收到的数据包的第0个字节是7,打印“China!"
  133.         //<<AICUBE_USER_USBLIB_ISR_CODE1_END>>
  134.         usb_OUT_done();                 //当前包的数据处理完成,通知USB主机可以发送下一包数据
  135.     }
  136. }
  137. //<<AICUBE_USER_FUNCTION_IMPLEMENT_BEGIN>>
  138. // 在此添加用户函数实现代码
  139. //<<AICUBE_USER_FUNCTION_IMPLEMENT_END>>
复制代码






回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:146
  • 最近打卡:2025-06-16 10:11:39

16

主题

470

回帖

2572

积分

超级版主

积分
2572
发表于 2025-5-19 14:09:37 | 显示全部楼层
printf_usb("Hello World !\r\n")或其他,
===第三个C语言程序, USB通信,中断方式,
===使用 AiCube@STC-ISP 智能配置开发工具, STC8H8K64U

1.在深圳国芯人工智能有限公司-工具软件下载最新ISP软件,重新安装KEIL驱动,添加头文件。



打开AiCube,创建项目文件夹。
截图202505191534318856.jpg
项目设置——Keil设置里的链接器选BL51,存储器模式选Large模式,代码大小模式选Large模式。
截图202505191535053778.jpg
勾选USB通用串行总线,USB协议选择CDC,数据处理方式选中断方式,中断优先级选最高优先级,点击保存AiCube项目和创建Keil项目。
截图202505191537418783.jpg
2.keil自动打开项目文件,生成如下程序:
截图202505211649413920.jpg
在程序中将 USB_SendData(UsbOutBuffer, OutNumber);
改成:
if(UsbOutBuffer[0]==6)
     printf_usb("HelloWorld!\r\n"); //如接收到的数据包的第0个字节是6,打印“HelloWorld!"
else if(UsbOutBuffer[0]==7)
     printf_usb("China!\r\n");  //如接收到的数据包的第0个字节是7,打印“China!"
编译成功。
截图202505211643034155.jpg
3.成功下载程序,串口助手发送区/多字符串发送区要勾选HEX模式,发送6时接收Hello World !;发送7时接收China !
截图202505191541208880.jpg
截图202505191541464710.jpg
8H_printf_usb_test_int.zip (148.55 KB, 下载次数: 5)
程序如下:
  1. //<<AICUBE_USER_HEADER_REMARK_BEGIN>>
  2. ////////////////////////////////////////
  3. // 在此添加用户文件头说明信息
  4. // 文件名称: main.c
  5. // 文件描述:
  6. // 文件版本: V1.0
  7. // 修改记录:
  8. //   1. (2025-05-19) 创建文件
  9. ////////////////////////////////////////
  10. //<<AICUBE_USER_HEADER_REMARK_END>>
  11. #include "config.h"                     //默认已包含stdio.h、intrins.h、ai_usb.h等头文件
  12. //<<AICUBE_USER_INCLUDE_BEGIN>>
  13. // 在此添加用户头文件包含
  14. //<<AICUBE_USER_INCLUDE_END>>
  15. //<<AICUBE_USER_GLOBAL_DEFINE_BEGIN>>
  16. // 在此添加用户全局变量定义、用户宏定义以及函数声明
  17. //<<AICUBE_USER_GLOBAL_DEFINE_END>>
  18. ////////////////////////////////////////
  19. // 项目主函数
  20. // 入口参数: 无
  21. // 函数返回: 无
  22. ////////////////////////////////////////
  23. void main(void)
  24. {
  25.     //<<AICUBE_USER_MAIN_INITIAL_BEGIN>>
  26.     // 在此添加用户主函数初始化代码
  27.     //<<AICUBE_USER_MAIN_INITIAL_END>>
  28.     SYS_Init();
  29.     //<<AICUBE_USER_MAIN_CODE_BEGIN>>
  30.     // 在此添加主函数中运行一次的用户代码
  31.     //<<AICUBE_USER_MAIN_CODE_END>>
  32.     while (1)
  33.     {
  34.         //<<AICUBE_USER_MAIN_LOOP_BEGIN>>
  35.         // 在此添加主函数中用户主循环代码
  36.         //<<AICUBE_USER_MAIN_LOOP_END>>
  37.     }
  38. }
  39. ////////////////////////////////////////
  40. // 系统初始化函数
  41. // 入口参数: 无
  42. // 函数返回: 无
  43. ////////////////////////////////////////
  44. void SYS_Init(void)
  45. {
  46.     EnableAccessXFR();                  //使能访问扩展XFR
  47.     IAP_SetTimeBase();                  //设置IAP等待参数,产生1us时基
  48.     P0M0 = 0x00; P0M1 = 0x00;           //初始化P0口为准双向口模式
  49.     P1M0 = 0x00; P1M1 = 0x00;           //初始化P1口为准双向口模式
  50.     P2M0 = 0x00; P2M1 = 0x00;           //初始化P2口为准双向口模式
  51.     P3M0 = 0x00; P3M1 = 0x00;           //初始化P3口为准双向口模式
  52.     P4M0 = 0x00; P4M1 = 0x00;           //初始化P4口为准双向口模式
  53.     P5M0 = 0x00; P5M1 = 0x00;           //初始化P5口为准双向口模式
  54.     P6M0 = 0x00; P6M1 = 0x00;           //初始化P6口为准双向口模式
  55.     P7M0 = 0x00; P7M1 = 0x00;           //初始化P7口为准双向口模式
  56.     USBLIB_Init();                      //USB库初始化
  57.     //<<AICUBE_USER_INITIAL_CODE_BEGIN>>
  58.     // 在此添加用户初始化代码
  59.     //<<AICUBE_USER_INITIAL_CODE_END>>
  60.     EnableGlobalInt();                  //使能全局中断
  61. }
  62. ////////////////////////////////////////
  63. // 微秒延时函数
  64. // 入口参数: us (设置延时的微秒值)
  65. // 函数返回: 无
  66. ////////////////////////////////////////
  67. void delay_us(uint16_t us)
  68. {
  69.     do
  70.     {
  71.         NOP(14);                        //(MAIN_Fosc + 500000) / 1000000 - 10
  72.     } while (--us);
  73. }
  74. ////////////////////////////////////////
  75. // 毫秒延时函数
  76. // 入口参数: ms (设置延时的毫秒值)
  77. // 函数返回: 无
  78. ////////////////////////////////////////
  79. void delay_ms(uint16_t ms)
  80. {
  81.     uint16_t i;
  82.     do
  83.     {
  84.         i = MAIN_Fosc / 10000;
  85.         while (--i);
  86.     } while (--ms);
  87. }
  88. ////////////////////////////////////////
  89. // USB库初始化函数
  90. // 入口参数: 无
  91. // 函数返回: 无
  92. ////////////////////////////////////////
  93. void USBLIB_Init(void)
  94. {
  95.     usb_init();                         //初始化USB模块
  96.     USB_SetIntPriority(3);              //设置中断为最高优先级
  97.     set_usb_OUT_callback(USBLIB_OUT_Callback); //设置USB中断回调函数
  98.     set_usb_ispcmd("@STCISP#");         //设置USB不停电下载命令
  99.     //<<AICUBE_USER_USBLIB_INITIAL_BEGIN>>
  100.     // 在此添加用户初始化代码
  101.     //<<AICUBE_USER_USBLIB_INITIAL_END>>
  102. }
  103. ////////////////////////////////////////
  104. // 等待USB配置完成函数
  105. // 入口参数: 无
  106. // 函数返回: 无
  107. ////////////////////////////////////////
  108. void USBLIB_WaitConfiged(void)
  109. {
  110.     while (DeviceState != DEVSTATE_CONFIGURED) //等待USB完成配置
  111.         WDT_Clear();                    //清看门狗定时器 (防止硬件自动使能看门狗)
  112. }
  113. ////////////////////////////////////////
  114. // USB设备接收数据中断回调程序
  115. // 入口参数: 无
  116. // 函数返回: 无
  117. // OutNumber:USB设备接收到的数据长度
  118. // UsbOutBuffer:保存USB设备接收到的数据
  119. ////////////////////////////////////////
  120. void USBLIB_OUT_Callback(void)
  121. {
  122.     //<<AICUBE_USER_USBLIB_ISR_CODE1_BEGIN>>
  123.     // 在此添加中断函数用户代码
  124.     //USB_SendData(UsbOutBuffer, OutNumber); //原路返回, 用于测试
  125.     //在此处添加用户处理接收数据的代码
  126.     if(UsbOutBuffer[0]==6)
  127.        printf_usb("HelloWorld!\r\n"); //如接收到的数据包的第0个字节是6,打印“HelloWorld!"
  128.     else if(UsbOutBuffer[0]==7)
  129.        printf_usb("China!\r\n");  //如接收到的数据包的第0个字节是7,打印“China!"
  130.     //<<AICUBE_USER_USBLIB_ISR_CODE1_END>>
  131. }
  132. //<<AICUBE_USER_FUNCTION_IMPLEMENT_BEGIN>>
  133. // 在此添加用户函数实现代码
  134. //<<AICUBE_USER_FUNCTION_IMPLEMENT_END>>
复制代码




回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-6-17 00:16 , Processed in 0.150221 second(s), 59 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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