我在用stc-isp烧录软件时出现串口打开失败,我想问一下知友有没有什么解决办法?

我在用stc-isp烧录软件时出现串口打开失败,我想问一下知友有没有什么解决办法?,第1张

检查驱动,重新安装驱动或者换一根线接口。

用stc-isp烧录软件时出现串口打开失败,有以下几种原因:

1、你没有安装驱动

驱动分为很多种,比如有FT232、PL2303、CP2102、CH340、CH341、DTECH_RS422等等,他们的驱动都是不一样的,即使名字看上去非常一样的,CH340与CH341就是这个样子。当然,选对了驱动未必就是可以安装成功的,如果你安装失败,给出以下解决方法:

先查看自己电脑的版本,安装对应的驱动,现在的笔记本基本上都戚悔是Window10 64位的,你在安装驱动的时候,要查看自己的电脑的版本,比如,Window 7 32位,那么你安装驱动的时候,建议安装对应的驱动,无论是Window的版本,还是电脑的位数(32位和64位高晌正),都要匹配。

但是,也不是一定的,有部分的驱动在不同的版本是可以用的,比如,Window10 64位的驱动,可以安装到Window 7 64位,那到底怎么查看自己的驱动是否可以符合呢?请安装之后,插上串口线,打开设备管理器,如果显示COM了,那么就安装成功了。

2、你开了另外一个串口调试助手,串口被占用了

现在的串口调试助手多如牛毛,一个研发工程师或者学生的电脑上有很多这个类型的软件。

当你打开一个串口调试助手的时候,你选择了波特率,COM口,数据位,校验位,停止位等等其他参数的时候,串口打开成功,并且也有数据打印,但是你发现,这个软件不好用,你重新打开了一个串口调试器,刚想打开这个COM口,串口调试助手却提示:串口打开失败。

那么是什么问题呢?因为上一个串口调试助手已经打开了这个串口,你不可以重复打开。你只需要把上一个串口调试助手的COM口关掉,你第二个串口调试助手就可以正常使用了。

总而言之,你的串口调试助手已经被占用了(你打开了第一个串口调试助手),你释放(关闭第一个串口调式助手)掉那个COM口,就可以正常使用(打开了第二个串口调试助手的COM口)了。

3、换一根好一点的数据线或者换一个电脑的USB口

很多时候,我们购买的开发板时,商家提供的数据线质量太差,我们就需要换一个更加好的数据线,一般的数据线硬的比软的好,短的比长的好,有磁环的比没有磁环的好。大家可以按照这种方法,选择稍微好一点的的数据线。

对于我们的电脑,如果USB口松了或者它的驱动能力不足,建议换一个USB口。如果是驱动能力不行,可以给开发板外接一个电源,然后电脑的USB口当作串口来使用,切记,要共地呀!

串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。串行接口(Serial Interface)是指数据一位一位地顺序传送。

其特点是通信线路简单,只要一对传输线就可以实现双向通信(可以直接利用电话线作为传输线),从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。

同步串行接口(英文:Synchronous Serial Interface,SSI)是一种常用的工业用通信接口。

异步串行是指UART(Universal Asynchronous Receiver/Transmitter),通用异步接收/发送。UART是一个并行输入成为串行输出的芯片,通常集成在主板上。

UART包含TTL电平的串口和RS232电平的串口。谨磨 TTL电平是3.3V的,而RS232是负逻辑电平,它定义+5~+12V为低电平,而-12~-5V为高电平,MDS2710、MDS SD4、EL805等是RS232接口,EL806有TTL接口。

串行接口按电气标准及协议来分包括RS-232-C、RS-422、RS485等。RS-232-C、RS-422与RS-485标准只对接口的电气特性做出规定,不涉及接插件、电缆或协议。

串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。其特点是通信线路简单,只要一对传输线就可以实现双向通信(可以直接利用电话线作为传输线),从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。

从两者之间的定义就可以看得出:串口是个物理接口,端口是个逻辑窗口。怎么理解呢?以我们经常册没用的电脑为例—我们电脑有很多串口,比如RS232,RS485等等,这些就是串口,本身就在一种接口。那逻辑窗口是什么呢?请大家回忆一下学习51单片机的时候(或者stm32时候用FlyMC)下载程序的时候,是不是要选一个COM?这个COM不是固定的,你插上它就有,不插就没有,这就是它为什么是一个逻辑值的原因。通俗的说,端口只是串口的一个标识ID而已,不同的ID对应着不同的连接口。任何一个芯片滑笑都要在有电的时候去工作,那么它必然就有一个VCC,一个GND,这个VCC和GND就是两个引脚,除了这些,还有一些其他的引脚,比如RST,普通的IO都是引脚。AVR系列单片机烧录程序的方法大概有以下三种:使用ISP编程器对芯片进行在线烧录、专业高压编程器烧录、通过JTAG接口使用JTAG仿真器烧录。但是它们都有一个共同的特点:但是总是要借助于其他设备或者编程器,下载稍嫌麻烦,本文笔者给大家介绍如果通过PC机的普通串口给AVR芯片烧录程序,本文以ATMega16为例。

相信大家都用过STC系列的51单片机,STC系列的单片机烧录程序都很简单,只需要通过串口就可以实现程序的烧录。于是就想让AVR的芯片也能实现通过串口就能下载的功能,这样就可以省去购买UsbAsp下载

图1线或者高压编程器的费用,而且使用更加方便。仔细研究AVR的芯片手册,就会发现常用的一些AVR芯片如:ATMega16、ATMega32等都是带有BootLoader功能的,这个BootLoader功能可以读写芯片的整个FLASH存储区,甚至可以改写BootLoader区,而且还有另外一个特点:如果BootLoader功能开启以后,每次复位都会从BootLoader 启动。

于是就有一个大概的思路了,可以给AVR的芯片写一个BootLoader的串口通信程序,每次复位以后BootLoader 区的程序就会得到运行,运行以后首先检测是否有烧录请求,如果有就更新FLASH中的程序,如果没有烧录请求,则执行FLASH中原有的程序。经过几天的努力这个通过串口给ATMega16烧录信姿含程序的固件和上位机终于完成了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12316553.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存