找回密码
 立即注册
查看: 76|回复: 6

请教各位:通过USB-Link1D,电脑可以与电路板上的P3.0、P3.1通信吗?

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:442
  • 最近打卡:2025-08-01 06:05:07

41

主题

213

回帖

1443

积分

金牌会员

积分
1443
发表于 7 天前 | 显示全部楼层 |阅读模式
就是如下图的东东:USB-Link1D通过USB连接电缆与电脑的USB口相连,USB-Link1D的S_P3.0与电路板的P3.0相连,S_P3.1与电路板的P3.1相连,S_VCC与电路板的VCC相连,GND与电路板的GND相连,电路板上的单片机是32G,下载带串口的程序后,打开下载软件V6.95Z,选择CDC/HID_串口助手,电路板上的串口数据可以传到CDC/HID_串口助手界面下吗?为什么我把USB-Link1D通过USB连接电缆与电脑的USB口相连后,还没有连接电路板,只是选择V6.95Z下的CDC/HID_串口助手,点击《打开串口》,CDC/HID_串口助手界面下就不停的收到00,连接电路板也不显示电路板发出的数据,如下图.我记得以前的下载工具,选则直通后,就可以。是我操作错误吗?如何通过USB-Link1D把电路板串口的数据传到电脑?USB-Link1D附带了好几条线缆,或者要用某一条线缆?谢谢大家。
IMG_20250725_144531.jpg
IMG_20250725_144621.jpg
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:442
  • 最近打卡:2025-08-01 06:05:07

41

主题

213

回帖

1443

积分

金牌会员

积分
1443
发表于 7 天前 | 显示全部楼层
串口初始化函数:

void UART_init(void)                                                                        //串口1初始化
{                                                                                                // 下面代码设置定时器2  
        T2H          = 0xFB;                                                                // 波特率:                2400 /12MHZ,1T
        T2L          = 0x1E;                                                                        // 波特率:                2400 /12MHZ,1T
        AUXR |= 0x15;                                                                    // 0001 0101,T2R=1启动T2运行,T2x12=1,定时器2按1T计数,S1ST2=1
                                                                                                // 下面代码设置定串口1
        SCON = 0x50;                                                                         // 0101 0000 SM0.SM1=01(最普遍的8位通信),REN=1(允许接收)
                                                                                                // 下面代码设置中断
        ES   = 1;                                                                                // 开串口1中断
        TI=0;
}

串行口1中断函数

void UART1(void) interrupt 4                                                                                                 
{
        if (RI)
        {
                RI=0;
        }
}


电路板发送数据


        SBUF=0x55;
        while(!TI);
        TI=0;

这些程序哪里不合理,也请指出,谢谢。

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:145
  • 最近打卡:2025-08-01 10:06:57

762

主题

1万

回帖

1万

积分

管理员

积分
18316
发表于 7 天前 | 显示全部楼层
截图202507251617378337.jpg


截图202507251618421595.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:145
  • 最近打卡:2025-08-01 10:06:57

762

主题

1万

回帖

1万

积分

管理员

积分
18316
发表于 7 天前 | 显示全部楼层
截图202507251628015683.jpg


截图202507251628309597.jpg

截图202507251629024594.jpg

截图202507251629467110.jpg

截图202507251630597796.jpg

截图202507251631229090.jpg

截图202507251631447532.jpg

截图202507251632053008.jpg

截图202507251632485161.jpg


回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:514
  • 最近打卡:2025-08-01 07:33:38
已绑定手机

87

主题

5791

回帖

1万

积分

超级版主

DebugLab

积分
10398
发表于 7 天前 | 显示全部楼层
使用 U8W/U8W -Mini 进行仿真,才需要设置直通模式,Link1D不存在这个问题
Link1D直接使用USB转串口功能,不需要设置
收到0x00可能是IO口持续高低电平变化,可能不是正常的串口数据,先确保被下载单片机的串口正常工作
建议更新到最新版ISP软件并手动更新Link1D固件
截图202507251648443416.jpg
if(TI)哪去了
使用串口发送必须在中断内判断TI并清除
串口程序:
https://www.stcaimcu.com/thread-16321-1-1.html

DebugLab
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:442
  • 最近打卡:2025-08-01 06:05:07

41

主题

213

回帖

1443

积分

金牌会员

积分
1443
发表于 6 天前 | 显示全部楼层

谢谢您的回复,我仔细消化下。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:442
  • 最近打卡:2025-08-01 06:05:07

41

主题

213

回帖

1443

积分

金牌会员

积分
1443
发表于 6 天前 | 显示全部楼层
Debu*** 发表于 2025-7-25 16:45
使用 U8W/U8W -Mini 进行仿真,才需要设置直通模式,Link1D不存在这个问题
Link1D直接使用USB转串口功能, ...

谢谢您的回复,
下载软件和Link1D的固件都是最新的,
现在的情况是即使不连接被下载单片机的串口,CDC/HID-串口助手界面下,也在不停的收00,
如首贴的图片那样,我想不通为什么会这样,
我找出了以前的U8W/U8W,就不会这样。
您发的串口收发框架,我会仔细领会。
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-8-1 20:23 , Processed in 0.145739 second(s), 85 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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