请教各位:通过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附带了好几条线缆,或者要用某一条线缆?谢谢大家。 串口初始化函数: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;
这些程序哪里不合理,也请指出,谢谢。
使用 U8W/U8W -Mini 进行仿真,才需要设置直通模式,Link1D不存在这个问题
Link1D直接使用USB转串口功能,不需要设置
收到0x00可能是IO口持续高低电平变化,可能不是正常的串口数据,先确保被下载单片机的串口正常工作
建议更新到最新版ISP软件并手动更新Link1D固件
if(TI)哪去了
使用串口发送必须在中断内判断TI并清除
串口程序:
https://www.stcaimcu.com/thread-16321-1-1.html
神农鼎 发表于 2025-7-25 16:32
谢谢您的回复,我仔细消化下。 DebugLab 发表于 2025-7-25 16:45
使用 U8W/U8W -Mini 进行仿真,才需要设置直通模式,Link1D不存在这个问题
Link1D直接使用USB转串口功能, ...
谢谢您的回复,
下载软件和Link1D的固件都是最新的,
现在的情况是即使不连接被下载单片机的串口,CDC/HID-串口助手界面下,也在不停的收00,
如首贴的图片那样,我想不通为什么会这样,
我找出了以前的U8W/U8W,就不会这样。
您发的串口收发框架,我会仔细领会。
页:
[1]