新手上路
- 积分
- 36
- 金钱
- 36
- 注册时间
- 2014-7-25
- 在线时间
- 4 小时
|
发表于 2016-5-17 13:40:23
|
显示全部楼层
本帖最后由 balabala 于 2016-5-17 13:44 编辑
今天我也遇到了这个问题,同样也郁闷了很久。最后查了一下一键下载电路找到了原因。电路如下:
这个板子为了下载方便,设计了这个下载电路。这就造成了一种安全隐患——可以通过串口直接控制板子的复位和下载方式。我觉得这是不合理的地方,应该用个跳线帽来选择是否需要一键下载电路。
所以我们的板子不是卡死了,而是在串口握手之后就把板子给一直复位了。
解决办法也很简单:
1.从硬件上断开芯片RESET,BOOT和CH340的链接,不推荐使用这种方法。
2.软件上禁止RTS好DTR的使用。以VS2010环境下C#语言为例,在开启串口之前将这两个引脚禁止,代码如下:
PublicData.sp1.RtsEnable = false; //禁止RTS引脚
PublicData.sp1.DtrEnable = false; //禁止DTR引脚
PublicData.sp1.Open(); //打开串口
之所以网上大部分的例程都不好使,是因为这两个引脚一般人都不管它。用串口这么久,我到现在也不知道这俩货到底是干什么用的。然而偏偏这里又用到了,不仔细琢磨还真不一定能发现是这里的问题。
|
|