Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CH340流控制信号导致终端不能输入和接收(该问题为硬件问题与源码无关) #185

Open
nekocharm opened this issue Mar 17, 2024 · 3 comments

Comments

@nekocharm
Copy link

使用的工具

测试使用的终端为putty和mobaxterm,使用的串口助手工具为vofa+

硬件

STM32F103VET6的UART1,CH340

配置

使用串口中断处理

void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
	if(huart==&huart1)
	{
        shellHandler(&shell, res);
		HAL_UART_Receive_IT(&huart1, &res, 1);
	}
}

串口输出

signed short LetterShell_Write(char *data, unsigned short len)
{
    HAL_UART_Transmit(&huart1, (uint8_t*)data, len, 0xFFFF);
    return len;
}

现象描述

###使用串口助手时
使用串口助手连接串口后,复位单片机,正常输出Info信息,以及在发送回车符后能够输出新行和命令提示符
###使用终端时

  1. 终端连接串口后,复位单片机,终端不会显示任何内容,并且回车、tab均无反应
  2. 复位单片机后,终端连接串口,此时自然收不到Info信息,但回车和tab能够正常输出命令提示符和命令列表,若此时复位单片机则又出现1中的现象
@nekocharm
Copy link
Author

问题解决

经过测试发现,此问题为硬件问题,由于使用的硬件为开发板,其中CH340的流控制信号DTR和RTS也同时被接了出来,这两个信号在连接终端时发生了改变导致stm32复位进入isp启动模式

改用外接串口转换芯片正常运行

疑问

在终端软件中关闭流控制信号(flow control)后,依然存在此问题,不知道有没有人知道能否取消终端软件的流控制信号输出

@NevermindZZT
Copy link
Owner

问题解决

经过测试发现,此问题为硬件问题,由于使用的硬件为开发板,其中CH340的流控制信号DTR和RTS也同时被接了出来,这两个信号在连接终端时发生了改变导致stm32复位进入isp启动模式

改用外接串口转换芯片正常运行

疑问

在终端软件中关闭流控制信号(flow control)后,依然存在此问题,不知道有没有人知道能否取消终端软件的流控制信号输出

会不会是驱动的原因,我也用过使用CH340的开发版,没碰到过这个问题

@nekocharm nekocharm changed the title 不明原因导致终端不能输入和接收 CH340流控制信号导致终端不能输入和接收(该问题为硬件问题与源码无关) Apr 4, 2024
@zcxgs
Copy link

zcxgs commented May 24, 2024

设备管理器中,找到CH340,里面有高级设置,把最后一个选项,禁用modem握手选中就好了。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants