第四章:USB不停电下载
第四章:USB不停电下载常规的程序下载,需要按下P32,然后断电重启单片机,然后才能下载,对于代码调试来说有点繁琐,那么能不能快速下载呢? 有。
ISP软件直接点击下载按钮以后,实现程序直接的下载到单片机中!!! 不再需要断电,也不需要按下按钮….方便 ,快捷。.
那么如何实现这个功能呢,,往下看,图中例出了实现不停电下载的流程.
图1
https://www.stcaimcu.com/data/attachment/forum/202412/18/162945iwwh72c5wyj2ccwe.png
看起来不复杂,,做起来也不复杂.
第一步. 下载USB库文件和USB库例程
根据官方的说明: Ai8051U根据所选的8位/32位模式可使用相同位数的库文件
例程中使用了STC32G的USB CDC库文件例程.
关于例程的说明 :
两大类 CDC 和 HID建议个人使用CDC类型
两大类又分为,查询模式和中断模式.
第二步. 创建一个工程(移植)
添加头文件,将stc_usb_cdc_32.LIB, stc32_stc8_usb.h文件复制到工程文件夹中,然后在工程中添加stc_usb_cdc_32.LIB文件(需要将文件类型设置为*.*或*.LIB才能找到),并定义头文件:#incledu “stc32_stc8_usb.h”
在主函数中添加USB初始化函数:usb_init();
把命令参数添加进来:
char *USER_DEVICEDESC = NULL;
char *USER_PRODUCTDESC = NULL;
char *USER_STCISPCMD = "@STCISP#";
这里的"@STCISP#"是ISP软件中默认内部下载命令,这个也可以自定义哦,只要代码中设置的字符串和ISP软件中自定义命令设置相同即可.
图4
https://www.stcaimcu.com/data/attachment/forum/202412/18/162947i02dne4dv0nhhy4h.png
一个重要的寄存器设置!!!
P_SW2 |=0X80; //扩展RAM区特殊功能寄存器功能 打开 (EAXFR:1)
https://www.stcaimcu.com/data/attachment/forum/202412/18/162947dh43ry632sssgo7s.png
相关中断的设置
IE2 |=0X80; //使能USB中断
EA = 1;//打开总中断
再添加USB配置是否完成的检测语句:
while (DeviceState != DEVSTATE_CONFIGURED); //等待USB完成配置
只有检测到USB配置完成以后,才能进行相关USB的操作,否则会出现意想不到的结果.
代码编写好以后,编译,下载到单片机中,就可以进行不断电进行下载了.
https://www.stcaimcu.com/data/attachment/forum/202412/18/162948ylib0c1vr5zcs2ri.png
将ISP软件主界面中最下方的:当目标文件变化时自动加载并发送下载命令勾选上.
只要重新编译一下代码,,ISP软件就会自动的发送自定义命令到单片机,,单片机接收到这个自定义命令以后,就会自动重启到系统ISP区,然后自动下载HEX固件.
通过本次学习,掌握了不停电下载固件的方法
第四章:USB不停电下载技术解析
在单片机开发过程中,常规的程序下载流程通常需要按下P32键并断电重启,这一过程在代码调试时显得繁琐且低效。然而,通过引入USB不停电下载技术,开发者可以实现程序的快速下载,无需断电或手动按下按钮,显著提升开发效率。
实现USB不停电下载的关键在于ISP(In-System Programming)软件的直接操作。用户只需在ISP软件中点击下载按钮,程序即可直接写入单片机,无需任何额外操作。这一技术不仅简化了下载流程,还大大缩短了调试时间。
具体实现步骤如下:首先,确保单片机和ISP软件之间的USB连接稳定;其次,在ISP软件中选择正确的目标设备;最后,点击下载按钮,程序将自动写入单片机。这一流程简单易行,适用于多种单片机型号,极大地优化了开发体验。
通过USB不停电下载技术,开发者可以更加专注于代码的调试与优化,提升整体开发效率。
[本文内容由国芯人工智能辅助生成,仅供参考] 第四章:USB不停电下载
USB不停电下载技术显著提升了单片机程序调试的效率。传统方法需按下P32并断电重启,操作繁琐且耗时。通过ISP软件,用户可直接点击下载按钮,实现程序无缝写入单片机,无需断电或按键操作。
实现该功能的核心在于利用USB接口的持续供电特性,结合ISP协议进行在线编程。具体流程如下:
1. 连接USB接口,确保供电稳定。
2. 打开ISP软件,选择目标程序。
3. 点击下载按钮,软件自动识别并连接单片机。
4. 程序通过USB接口直接写入单片机内存。
该技术简化了操作流程,提高了开发效率,特别适用于频繁调试的场景。建议开发者熟练掌握,以优化开发体验。
[本文内容由国芯人工智能辅助生成,仅供参考]
页:
[1]