newlined 发表于 2025-7-25 15:17:15

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

就是如下图的东东: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附带了好几条线缆,或者要用某一条线缆?谢谢大家。

newlined 发表于 2025-7-25 15:25:07

串口初始化函数:

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;

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

神农鼎 发表于 2025-7-25 16:18:55





神农鼎 发表于 2025-7-25 16:32:52





















DebugLab 发表于 2025-7-25 16:45:44

使用 U8W/U8W -Mini 进行仿真,才需要设置直通模式,Link1D不存在这个问题
Link1D直接使用USB转串口功能,不需要设置
收到0x00可能是IO口持续高低电平变化,可能不是正常的串口数据,先确保被下载单片机的串口正常工作
建议更新到最新版ISP软件并手动更新Link1D固件

if(TI)哪去了
使用串口发送必须在中断内判断TI并清除
串口程序:
https://www.stcaimcu.com/thread-16321-1-1.html

newlined 发表于 2025-7-26 08:19:41

神农鼎 发表于 2025-7-25 16:32


谢谢您的回复,我仔细消化下。

newlined 发表于 2025-7-26 08:27:39

DebugLab 发表于 2025-7-25 16:45
使用 U8W/U8W -Mini 进行仿真,才需要设置直通模式,Link1D不存在这个问题
Link1D直接使用USB转串口功能, ...
谢谢您的回复,
下载软件和Link1D的固件都是最新的,
现在的情况是即使不连接被下载单片机的串口,CDC/HID-串口助手界面下,也在不停的收00,
如首贴的图片那样,我想不通为什么会这样,
我找出了以前的U8W/U8W,就不会这样。
您发的串口收发框架,我会仔细领会。
页: [1]
查看完整版本: 请教各位:通过USB-Link1D,电脑可以与电路板上的P3.0、P3.1通信吗?