自己用C#写了一个上位机,运行打开串口单片机死机。

2019-07-20 13:19发布

  求原子哥给看一下,我用的是探索者F4,自己用C#写了 一个上位机,类似于串口调试助手,但调试的时候,打开串口(用的串口1,232串口)时单片机会直接卡死。灯也不闪了。大家给看看吧。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
balabala
1楼-- · 2019-07-20 16:24
本帖最后由 balabala 于 2016-5-17 13:44 编辑

今天我也遇到了这个问题,同样也郁闷了很久。最后查了一下一键下载电路找到了原因。电路如下:

1.png

这个板子为了下载方便,设计了这个下载电路。这就造成了一种安全隐患——可以通过串口直接控制板子的复位和下载方式。我觉得这是不合理的地方,应该用个跳线帽来选择是否需要一键下载电路。
所以我们的板子不是卡死了,而是在串口握手之后就把板子给一直复位了。
解决办法也很简单:
1.从硬件上断开芯片RESET,BOOT和CH340的链接,不推荐使用这种方法。
2.软件上禁止RTS好DTR的使用。以VS2010环境下C#语言为例,在开启串口之前将这两个引脚禁止,代码如下:
                    PublicData.sp1.RtsEnable = false;       //禁止RTS引脚
                    PublicData.sp1.DtrEnable = false;       //禁止DTR引脚
                    PublicData.sp1.Open();                    //打开串口

之所以网上大部分的例程都不好使,是因为这两个引脚一般人都不管它。用串口这么久,我到现在也不知道这俩货到底是干什么用的。然而偏偏这里又用到了,不仔细琢磨还真不一定能发现是这里的问题。



songhe
2楼-- · 2019-07-20 19:06
 精彩回答 2  元偷偷看……
大麦茶
3楼-- · 2019-07-20 22:48
 精彩回答 2  元偷偷看……
shawnh201
4楼-- · 2019-07-20 23:30
大麦茶 发表于 2016-3-12 21:33
请问上位机怎么做啊,我也想做这个东西,不知道该看哪方面的资料?

请问你现在做好了吗?
liangbaiquan
5楼-- · 2019-07-20 23:39
 精彩回答 2  元偷偷看……
曾超
6楼-- · 2019-07-21 03:26
2L说得很对啊。谢谢了啊

一周热门 更多>