
1、单片机没有可靠上电冷启动。
2、单片机复位电路氏禅渣有问题。
3、单片机晶振电路没有工作。
4、下载器与单片机连线有问题。
5、袭晌下载波特率过高。
串行接口简称串口,也称串行通信接口或串行通讯接口(通常指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烧录信姿含程序的固件和上位机终于完成了。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)