把atmega8L转到arduino平台-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 7022|回复: 3

把atmega8L转到arduino平台

[复制链接]
发表于 2020-8-12 11:41 | 显示全部楼层 |阅读模式
【第一次发贴】
为什么写这个?希望正在折腾的朋友或是有缘的朋友看到。很多东西在网上也不贵,但是手里能折腾就不去买。8266玩的一段时间,就是io口太少了。家里有atmega8L开发板睡了十多年(因为不会搞电路只编程不好玩)
现在硬件没变,开发环境变了,周边可以搭配很多传感器模块。所以想不能再让它睡了。(时间太久电路图,和资料都没了)

重新在网上看资料,前前后后花了至少2周。每天花部分时间上网找资料然后测试。
第一。要把atmega8L烧bootloader。就是重装系统,来匹配arduino用ttl来上传程序。
(之前都是用usbasp上传,连线多占io多。这里把usbasp,isp原理,电路,接口都翻了出来。。)
atmega8L-8M的不知道是什么原因,烧了很多版本
  1. ATmegaBOOT-prod-firmware-2009-11-07.hex
  2. optiboot_atmega8.hex
  3. optiboot_atmega8_8M.hex
复制代码

这程序用progisp很容易烧,但就是ttl上传程序不能成功
把熔丝位搞明白都花了几天的时间(因为要测试,没有晶振无法芯片启动,还以为坏了。几天时间就搞这个?切记高熔丝位前3一定要是110)一定要和boards.txt当中的配置同步,分享我用的低是11111111,高11000100。有外接7.37的晶振
这里插一句arduino在工具里也有个“烧录引导程序”选项,可以选择usbasp直接烧bootloader。可以在boards.txt文件中配置bootloader的参数,但和上传程序的配置是分开的。但我为什么不能用这个方法 呢?因为我的usbasp线太久了,要用另一条usbasp来刷机,前面说过能不买就不买。。如果是新的usbasp也可以不用ttl,arduino也可以直接用usbasp来上传我们编写的程序到atmega8L,可能你也看到了菜单这个选项“编程器上传”

第二,用ttl来上传程序。这个是我8266上用的CH341模块(我之前认为usbasp就是,usb转ttl只是接口不一样)
这里ttl上传各种错,,不管怎么按reset或是长按(长按是不对的。原里是Arduino出厂默认在Flash内置了一个bootloader程序,在Arduino启动的头几秒内,bootloader会检查从串口来的数据,如果这些数据能解析成特定协议的消息格式,bootloader进入ISP模式,从串口接收数据对Flash编程。
  1. avrdude: stk500_recv(): programmer is not responding
  2. avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x32
  3. 0x32这个数字各种变化
复制代码

分析原因可能以下几点:
  • 硬件的频率晶振,和bootloder程序当中不适配,
  • bootloader烧录的熔丝波特率和arduino的boards.txt文件配置的不一样。
  • 硬件方面ttl两根线,对调试试认为这很简单。还有就是上传程序要按reset这个要是用人手来按能叫人崩溃
  • 还有一个可以不说的,就是ttl通讯波特率的事,最好外接晶振,都说内部的不准,那以后arduino玩的就是ttl呢


心里比较乱先写这么多,
今天再找资料,8266怎么把串口转网络的事。还要做一些基础的实验。想法是通过“串口命令行”来控制IO
 楼主| 发表于 2020-8-26 15:58 | 显示全部楼层
本帖最后由 qcomdd 于 2020-8-26 16:00 编辑

【再跟一贴子】
上一贴子内容的问题都解决了,自动重启就是把CH341烧录器里接IO0的引脚,接到开发板的reset就可以了。再也不用乱按reset
之前想做的,用8266把网络信号转到Serial,都做成功了。用telnet其实和tpc是一样的操作,也就是做成一个无线的Serial。当中走了很多弯路,然后看了bridge的示例。是用web开发API的思路,这样更容易连接到云,就必须有后台的支持,
前几天把舵机,和步进都调试好了。现在做ADXL345那么是不是可以做成一个无线,手势遥控了。理论可行不一定会做,看有没有时间和兴趣再说。
无刷还没做。想起来之前拆光驱和硬盘搞到很多小电机。现在太久都没了,从来没见过就像失去的人,去了回忆还能有什么?过段时间回忆也到了角落。
对了对了,之前的atm8芯片方案不完美。有时候一天或几天要重烧一次bootloader。因为会各种问题。
比如程序上传成功但是,还是老程序在运行
比如程序上传成功,没有程序在运行,灯不闪,串口也没有输出
反正重装系统就是了
发表于 2021-6-5 11:21 来自手机 | 显示全部楼层
楼主,请问你是刷的哪个固件把atmega8l刷成arduino的,8mhz。按教程做,ide编译失败,最新版本
发表于 2021-9-16 19:24 | 显示全部楼层
感谢分享,学习一下子
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 00:44 , Processed in 0.174018 second(s), 17 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表