Arduino生成ATmega8的运行程序并下载
简 介: 使用另外的ATmega8的Bootloader对ATmega8进行编程,仅仅利用Arduino IDE完成对于Scratch的编译,基于这个模式完成程序的开发。
关键词
: Arduino,IDE,ATmega8
§01 利用Arduino生成ATmega8执行程序
基于Arduino
IDE的 Scratch完成程序的开发,借助于现在这个生态环境中越来越多积累下的软件包,的确可以加速软件的开发。满足更新的需要。
在 利用Arduino
IDE对ATMEGA8等单片机编程 测试了对于Arduino
IDE增加 MinCore的软件包,使其能够对于 ATmega48~ATmega328 进行开发支持。下面通过实验测试:
- 通过
Arduino
IDE生成ATmega8的执行程序,使用自行制作的Bootloader完成ATmega8程序上传,看是否可以进行正常执行。 - 将
Arduino
IDE生成的程序自行上传之后,测试是否它也就同时具备了Arduino
IDE的Bootloader的功能。这是因为在它生成的程序中,自动包含了Bootloader的功能。
1、MEGA328 Download
MEGA328 Download是自行编写的基于串口的ISP Bootloader下载软件,可以兼容一些常见的ATmega系列的单片机。
MEGA328 Download 所在目录: D:\zhuoqing\window\cb\MegaBL\M328_BL
▲ 图1-1 MEGA328 Download 程序界面
这个软件利用MAX3232完成从微机UART到TTL-UART的转换。它使用了单片机的 RXD
,TXD
,RST
三根线进行下载。在下面两个博文中,分别描述了用于下载的UART-TTL 基于MAX3232模块与单片机连接方法。
- 基于ATMEGA8的
Arduino
Nano(UNO)开发板 :给出了管脚顺序为VCC
,T1IN
,R1OUT
,T2IN
,GND
模块与单片机相连的方法是。 - ATMEGA8 DIP-28面包板实验 :给出了专门为ATmega8-DIP-28进行程序下载的UART-TTL的小型模块,它的输出管脚为:
VCC
,GND
,RST
,TXD
,RXD
,可以直接与DIP-28封装的ATmega8在面包板上搭建下载界面。
▲ 图1-2 在面包板上搭建的ATmega8 下载界面
2、Arduino IDE生成下载程序
根据下图可以看到对于ATmega8 的PB0对应Arduino
中的D8,由此编写对应的测试小程序。
▲ 图1-3 ATmega8 管脚定义
(1)测试程序
/*
**==============================================================================
** TEST1.C: -- by Dr. ZhuoQing, 2021-05-31
**
**==============================================================================
*/
#define ON(pin) digitalWrite(pin, HIGH)
#define OFF(pin) digitalWrite(pin, LOW)
#define VAL(pin) digitalRead(pin)
#define IN(pin) pinMode(pin, INPUT)
#define OUT(pin) pinMode(pin, OUTPUT)
const int LED_PIN = 8;
//------------------------------------------------------------------------------
void setup(void) {pinMode(LED_PIN, OUTPUT);
}
//------------------------------------------------------------------------------
void loop(void) {ON(LED_PIN);delay(100);OFF(LED_PIN);delay(100);
}
//==============================================================================
// END OF FILE : TEST1.C
//------------------------------------------------------------------------------
(2)生成HEX文件
首先 选择开发板也处理器,然后再完成编译过程。然后选择“项目”中的“导出已编译的的文件”。
▲ 图1-4 选择开发板也处理器,完成编译过程
在程序所在的目录中,生成了以下两个文件:
- sketch_may31a.ino.with_bootloader_atmega8_16000000L.hex
- sketch_may31a.ino_atmega8_16000000L.hex
(3)利用MEGA328 Download下载HEX文件
选择 sketch_may31a.ino.with_bootloader_atmega8_16000000L.hex下载,出现下载程序错误的情况; 选择 sketch_may31a.ino_atmega8_16000000L.hex 则可以完成正常下载,程序的功能正确。
▲ 图1-5 正常下载HEX过程
▲ 图1-6 下载程序之后运行的结果
§02 修改CRUNPYTHON_SHIFT程序
将CRUNPYTHON_SHIFT程序修改如下,这样便可以在TEASOFT 软件编辑器中通过 ALT+SHIFT_R允许编辑的程序,它便可以将程序拷贝到Arduino
IDE,并启动生成HEX文件的过程。这与普通的拷贝运行相比,它不再去询问下载程序了。
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# CRUNTYPE.PY -- by Dr. ZhuoQing 2020-01-23
#
# Note:
#============================================================from head import *keyread = tspread()
if keyread[9] != 0: altflag = 1#------------------------------------------------------------
ret = tspsendwindowkey('Arduino 1.8.15', "a", control=1)
if ret == 0:filename = tspgeteditfile().split('.')[-1]if filename == 'c' or filename == 'C':tspcopyclipboard()tspsendwindowkey("Arduino 1.8.15", 'v', control=1)tspsendwindowkey("Arduino 1.8.15", "s", control=1,alt=1)else:tspsendwindowkey("Arduino 1.8.15", 'v', control=1)tspsendwindowkey("Arduino 1.8.15", "s", control=1, alt=1)printf("Arduino.")printf('\a')tspfocuswindow("TEASOFT:1")exit()tspbeep(1200, 50)
tspsendwindowkey('ImageCraft', 'pm', alt=1)#------------------------------------------------------------
# END OF FILE : CRUNTYPE.PY
#============================================================
※ 总结讨论 ※
利用了之前自行编辑的MEGA328下载程序软件,完成的对于普通的MEGA8的程序下载。此时,就可以不必利用Arduino IDE的下载界面完成程序的下载。而是可以通过Arduino生成HEX文件,然后在利用原来的下载调试界面完成程序的下载。
通过修改TEASOFT配套的CRUNPYTHON_SHIFT.PY软件,可以使得在TEASOFT软件的文本编辑界面中,使用SHIFT+ALT+R命令,完成编程程序文本的拷贝,导出HEX文件的过程,再另一MEGA328的自动检查机制完成程序的自动下载过程。
■ 相关文献链接:
- 利用Arduino IDE对ATMEGA8等单片机编程
- 基于ATMEGA8的Arduino Nano(UNO)开发板
- ATMEGA8 DIP-28面包板实验
● 相关图表链接:
- 图1-1 MEGA328 Download 程序界面
- 图1-2 在面包板上搭建的ATmega8 下载界面
- 图1-3 ATmega8 管脚定义
- 图1-4 选择开发板也处理器,完成编译过程
- 图1-5 正常下载HEX过程
- 图1-6 下载程序之后运行的结果
Arduino生成ATmega8的运行程序并下载相关推荐
- C#开发,.NET生成单文件运行程序
长久以来的认知,对于托管代码 .NET / JAVA ,都是需要在服务器上安装 SDK 或者运行时的.比如 .NET Framework 4.XX ,JDK/JRE.XX 等.其实从 .NET Cor ...
- 利用PROGISP实现ARDUINO IDE编写的程序的下载以及如何把AVR单片机做成ARDUINO板
首先讲讲题目的由来吧.我做的东西原本是利用ARDUINO MEGA2560及各种模块搭建起来的,程序自然也是用ARDUINO IDE写的.但这种东拼西凑的产品自然不够好,更主要的是,之前ARDUINO ...
- 二维码生成工具微信小程序源码下载
二维码生成工具 支持上传二维码logo和调整尺寸背景颜色等等 无需域名与服务器 使用教程,用HBuilder X软件打卡项目然后运行到微信小程序即可 下方是演示图: 小程序源码下载地址: (已更新)二 ...
- Arduino可穿戴教程之第一个程序——上传运行程序(四)
Arduino可穿戴教程之第一个程序--上传运行程序(四) 2.4.5 上传程序 现在所有Arduino IDE的设置都完成了,我们就可以将示例程序上传到板子中了.这非常简单,只需要单击如图2.45 ...
- 【arduino】arduino ISP下载程序方法,用arduino uno给M5 Module DC MOTOR下载程序
微信关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. 今天用arduino uno给M5的Module DC motor下载程序,别的就不多 ...
- 下载的c语言程序代码怎么运行,CFree怎么运行程序 编译运行C语言程序代码的方法...
CFree是一款C语言编译软件,用户可以利用这款软件编译C/C++程序 ,如果你想要运行已经编写好的C语言代码,只需要几个简单的操作即可实现,如果你还不知道怎么运行,就赶快来看看下面的教程吧! 1.首 ...
- 微信小程序实现生成二维码功能并下载到本地
微信小程序实现生成二维码功能并下载到本地 背景 实现 备注 背景 有这样一个需求,后台返回了url地址,微信小程序将url地址转成二维码图片,展示在页面上,并且该二维码图片可下载到用户手机相册中 实现 ...
- 万圣节头像框生成工具微信小程序源码下载支持流量主收益模式
大家好万圣节马上就要来了 那么临近了万圣节那么也给大家带来了一款与万圣节相关的程序 那么这款程序呢就是可以制作生成与万圣节相关的头像框 内含多种模板风格可供选择 支持用户上传模式和自动获取微信头像模式 ...
- java项目下载后无法运行_eclipse不能在手机运行程序问题解决办法
有时我们会遇到Eclipse不能在手机运行程序的问题,那么此时应该怎么办呢?本节内容中小编就为大家带来eclipse不能在手机运行程序问题的解决办法--Eclipse开发Android程序在手机上运行 ...
最新文章
- vue 分享微信传参_vue 中使用微信分享接口(简单实用)
- 输出商品列表 用户输入序号 显示用户选中的商品
- QT 通过QNetworkReply *获取对应请求的URL地址
- STM32开发 -- 复位类型判断
- 快手于冰:跟最优秀的人一起追求极致
- ondraw() 和dispatchdraw()的区别
- Jacoco字节码植入原理(源码分析)
- 手游开发者交流会议暨OGEngine新版发布
- 永恒python地速_立竿见影地把你的 Python 代码提速7倍
- MySQL中的information_schema
- Java-包、权限修饰符final、static
- 一文学会 SSH 服务!
- DbNetSpell
- AIS家电行业供应链管理系统综合分析-零部件订货对应分析需求
- 自动化机器人 rpa_机器人过程自动化和机器人的出现
- 低配置系统安装 linux,在低配置机中安装Linux系统
- PVE 天龙八部TLBB服务端搭建(一)--linux环境搭建
- Linux性能优化实战学习笔记:第四十六讲=====实战分析
- Nvme pcie有线千兆网卡
- Unity中通过按键更换材质球纹理图片
热门文章
- Asp.net MVC 示例项目Suteki.Shop分析之---结束篇
- js 关于运算顺序的问题
- 趣题:寻找出现了奇数次的数
- Another MySQL daemon already running with the same unix socket的解决
- linq查询语句转mongodb
- Centos7 安装 memcached 1.4.25
- 【unity】简要分析yield及协同程序的用法
- 火狐 IE 解析xmlDOM 的不同写法
- 在Android开发中怎样调用系统Email发送邮件
- 20155328 《信息安全系统设计基础》 课程总结