ercircle 发表于 2025-7-30 11:35:12

tomsmiss 发表于 2025-7-30 10:59
试验箱第32个程序,为什么下载完程序后,串口号没有呢,现在ISP软件也是最新的了,仿真设置也更新了。 ...

这个例程先看左边项目结构,它没有USB库,也没有USB源码,所以没有CDC串口正常

这里的串口监控FLASH指的是P30 P31引脚当串口用,需要连接外部串口工具的


神农鼎 发表于 2025-7-30 12:02:38

推荐优先看的 printf_usb("Hello World !\r\n")及usb不停电下载, 演示视频链接

https://v.stcai.com/sv/1c5eec2-197fcd9b766/1c5eec2-197fcd9b766.mp4
上面是 小李 演示:Ai8051U, printf_usb("Hello World !\r\n")及usb不停电下载@AiCube之图形化程序自动生成

https://v.stcai.com/sv/1fce8086-197cf2b9dd4/1fce8086-197cf2b9dd4.mp4
上面是 小赵 演示:Ai8051U, printf_usb("Hello World !\r\n")及usb不停电下载@AiCube之图形化程序自动生成

tomsmiss 发表于 2025-7-30 14:39:21

我现在使用J20 口的串口,出现串口号了,也是没收到打印信息,这个需要连接什么外部串口工具呢

tomsmiss 发表于 2025-7-30 15:08:11

看程序里面也是选择了串口1,原理图上J3,J4都是连接上P3.0和P3.1了,这个不搞懂,后面的进行不下去

tomsmiss 发表于 2025-7-30 15:40:06

我怎么才能看到ISP软件上打印出这些
    printf("命令设置:\r\n");
    printf("E 0x001234            --> 扇区擦掉十六进制地址\r\n");
    printf("W 0x001234 1234567890 --> 写入操作十六进制地址写入内容\r\n");
    printf("R 0x001234 10         --> 读出操作十六进制地址读出字节内容\r\n");
    printf("C                     --> 如果检测不到SPI Flash, 发送C强制允许操作.\r\n\r\n");

ercircle 发表于 2025-7-31 10:14:19

tomsmiss 发表于 2025-7-30 14:39
我现在使用J20 口的串口,出现串口号了,也是没收到打印信息,这个需要连接什么外部串口工具呢 ...

串口通讯要看串口助手:


另外如果程序启动的打印信息看不到,可以打开串口情况下,手动切换下电源开关:

tomsmiss 发表于 2025-7-31 17:43:19

还是没有
重新插了很多次了。
估计还是程序的问题

tomsmiss 发表于 2025-7-31 17:44:29

这个打开了也是没有的

神农鼎 发表于 2025-7-31 20:25:50


printf_usb("Hello World !\r\n");

#include"ai8051u.h"      //头文件不分大小写,但关键字分大小写
#include"ai_usb.h"      //USB库和USB虚拟设备的头文件

voidmain(void)
{
      EAXFR = 1;      //允许访问扩展的特殊寄存器,XFR
      WTST = 0;      //设置取程序代码等待时间,赋值为 0 表示不等待,程序以最快速度运行
      CKCON = 0;      //设置访问片内的 xdata 速度,赋值为 0 表示用最快速度访问,不增加额外的等待时间

      P0M0 = 0x00; P0M1 = 0x00;      //初始化P0口为准双向口模式
      P1M0 = 0x00; P1M1 = 0x00;         //初始化P1口为准双向口模式
      P2M0 = 0x00; P2M1 = 0x00;         //初始化P2口为准双向口模式
      P3M0 = 0x00; P3M1 = 0x00;         //初始化P3口为准双向口模式
      P4M0 = 0x00; P4M1 = 0x00;         //初始化P4口为准双向口模式
      P5M0 = 0x00; P5M1 = 0x00;         //初始化P5口为准双向口模式

      usb_init();
      //初始化USB模块,并且会将【P3.0,P3.1】初始化为高阻输入,不影响USB【D-,D+】通讯
      EA = 1;                //使能总中断

      while (1)
      {
                printf_usb("Hello World !\r\n");
                //\r是回车,并跳到行首,\n是换行,就是换到下一行;\r\n不要交换次序
      }
}

神农鼎 发表于 2025-7-31 20:27:28

先跟着视频搞定: printf_usb("Hello World !\r\n")及usb不停电下载, 演示视频链接

https://v.stcai.com/sv/1c5eec2-197fcd9b766/1c5eec2-197fcd9b766.mp4
上面是 小李 演示:Ai8051U, printf_usb("Hello World !\r\n")及usb不停电下载@AiCube之图形化程序自动生成

https://v.stcai.com/sv/1fce8086-197cf2b9dd4/1fce8086-197cf2b9dd4.mp4
上面是 小赵 演示:Ai8051U, printf_usb("Hello World !\r\n")及usb不停电下载@AiCube之图形化程序自动生成

页: 1 [2]
查看完整版本: 关于printf打印函数的问题